我曾多次遇到这些问题,但尚未找到解决方案。我的环境安装了 Xcode 命令行工具,但自从安装 Nix 以来,Clang 一直很难找到 macOS SDK 框架。我知道这些是存在的,就好像我切换到一个没有安装 Nix 的新用户一样,我能够毫无问题地构建这些。
举个例子,
{very long command invocation snipped}
/Users/paulcolusso/Developer/heartbeat/server2/target/debug/deps/libsqlx_macros-95911fe3462937f2.dylib" "-Wl,-dead_strip" "-dynamiclib" "-Wl,-dylib" "-nodefaultlibs"
= note: ld: framework not found SystemConfiguration
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
error: could not compile `sqlx-macros` due to previous error
Run Code Online (Sandbox Code Playgroud)
我发现 macOS SDK 派生确实存在,例如来自 nix 论述的以下内容,并且添加darwin.apple_sdk.frameworks.SystemConfiguration派生确实解决了该问题。问题如何使 macOS 框架可在 Nix 环境中 clang?也涉及到这一点。
话虽这么说,根据需要慢慢添加每个框架是有点耗时的。有没有办法将整个apple_sdk派生安装到我的家庭管理器或我可以放入的 nix-shell 中?如果不是这样,有一种方法可以逃离 Nix 沙箱而不需要保留另一个用户帐户吗?
nix ×1