Anaconda 中断命令行 Xcode 构建

Anaconda breaks command line Xcode builds

当 Anaconda 安装在 Mac 上时,它会设置环境变量 LD=/anaconda3/bin/x86_64-apple-darwin13.4.0-ld

当 运行 从命令行构建 Xcode 时(如构建 Carthage 依赖项),LD 的值被插入到链接器命令中:

Ld /Users/maxim/Library/Caches/org.carthage.CarthageKit/DerivedData/10.1_10B61/GeoJSONMap/0.0.8/Build/Intermediates.noindex/ArchiveIntermediates/GeoJSONMap/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GeoJSONMap.framework/GeoJSONMap normal arm64 (in target: GeoJSONMap)
    cd /Users/maxim/Carthage/Checkouts/GeoJSONMap
    export IPHONEOS_DEPLOYMENT_TARGET=11.0
    /anaconda3/bin/x86_64-apple-darwin13.4.0-ld -arch arm64 -dynamiclib <... skipped for brevity ...>

...结果为 ld: unknown option: -dynamiclib.

那么,问题来了:如何正确避免这种干扰呢?是否可以从 Xcode 构建过程中获取变量 LD?是否可以将 Anaconda 配置为使用其他变量?有没有办法在 运行 Xcode 构建时临时取消 Anaconda 设置? Xcode 期望的 LD 的预期值是多少?

conda 版本大于或等于 4.5(我认为),应该足以 运行

conda deactivate

从您的 shell 中删除特定于 conda 的环境变量设置。如果您激活了 base 以外的环境,您可能需要 运行 conda deactivate 几次。