在xcode中设置$ PATH在哪里?

laj*_*jos 23 xcode path

看起来xcode的$ PATH环境设置与我的用户shell环境不同.

xcode从哪里获取$ PATH设置以及追加到搜索路径的最佳方式是什么?

小智 17

如果您正在编写Run Shell Script构建阶段,则可以执行以下操作:

PATH=${PATH}:/opt/local/bin
Run Code Online (Sandbox Code Playgroud)

或者脚本内容中的任何内容.

  • 谢谢你,这就是我目前正在做的事情,但我希望找到一种适用于整个构建过程的“全局”方式 (2认同)

Rob*_*rty 14

这些答案存在一些混乱,因为其中一些答案试图解决$PATH由 Xcode 运行的构建可执行文件的问题。但问题是关于 Xcode 的,这意味着它与构建过程本身有关。

例如,在运行 Homebrew 安装的可执行文件的构建阶段运行脚本步骤中。对构建过程进行硬编码以包含特定于一台构建机器的路径并不是一个好主意(新的 macOS 版本发布、新开发人员加入团队等)

问题有多个层面:

//$PATH中的更改会在 shell 会话中生效,但不会在 macOS 应用程序中生效bashrczshrcprofile

要解决此问题,您可以使用以下命令设置应用程序的 PATH:

sudo launchctl config user path "$PATH"
Run Code Online (Sandbox Code Playgroud)

然后,您需要重新启动计算机才能使更改生效。如果您更改了$PATH.

(这来自GitHub 上的评论。)

Xcode 默认情况下不使用系统$PATH,并用自己的清理值替换它

这可以通过更改用户默认值来解决。这可能存在一些风险,因为 Xcode 会进行此清理以确保使用其自己的构建工具,并且如果您在其他地方有同名的可执行文件,则可能会运行它们。买者自负!

defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO
Run Code Online (Sandbox Code Playgroud)

看起来这个命令会在 macOS 每次重新启动时重置,因此请准备好在每次重新启动时发出此命令。

(这部分来自这个答案。)


小智 6

XCode从〜/ .MacOSX/environment.plist获取其环境变量的方式与其他OS X进程相同.

有关如何设置的详细信息,请查看developer.apple.com/qa/qa2001/qa1067.html.

  • 嗯......我没有这样的文件.是否有适用于所有用户的全球版本? (2认同)

Sma*_*ess 5

最简单的解决方案是在 Xcode 中添加 PATH 变量。

PATH=${PATH}:/usr/local/bin

在此处输入图片说明

  • 如果有人想知道这是在哪里找到的,您可以单击“编辑方案”。:D (3认同)