在OS X中修改环境变量如PATH的正确方法是什么?

我看了谷歌一点,找到了三个不同的文件进行编辑:

/etc/paths ~ / . profile ~ / tcshrc

我甚至没有这些文件中的一些,我很确定.tcshrc是错误的,因为OS X现在使用bash。这些变量,特别是PATH,定义在哪里?

我运行的是OS X v10.5 (Leopard)。


当前回答

2月2022日(MacOs 12+)

这里的解决方案应该在重新启动或应用程序重新启动后工作。

CLI

打开所选配置文件的CLI。

为bash打开~/.bash_profile 为zsh打开~/.zshrc

添加(或替换)

export varName=varValue 

(如果varValue中有空格-将其包装成")

确保重新启动命令行应用程序。

GUI

完成CLI步骤。 确保GUI应用程序关闭。 从命令行打开GUI应用程序。例如:

open /Applications/Sourcetree.app

(你也可以在.zshrc文件中使用这个命令的别名)

原则

Mac没有为所有上下文设置环境变量的配置选项。 避免更改用户配置文件之外的任何内容。

已经不管用了

(MacOS 12.1+) 编辑/etc/launchd.conf 带有plist后缀的XML文件

其他回答

直到和包括OS X v10.7 (Lion),你可以设置它们:

~/.MacOSX/environment.plist

See:

https://developer.apple.com/legacy/library/qa/qa1067/_index.html https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html

对于终端中的PATH,您应该能够在.bash_profile或.profile中设置(尽管您可能必须创建它)

对于OS X v10.8 (Mountain Lion)及以上版本,您需要使用launchd和launchctl。

对于Bash,尝试将环境变量添加到文件/etc/profile中,以使它们对所有用户可用。不需要重新启动,只需启动一个新的终端会话。

要简洁明了地说明每个文件的用途

~ /。概要文件是每次终端源。App上线 ~ /。bashrc是“传统上”设置Bash环境的所有导出语句的地方 /etc/paths是Mac OS中的主文件,包含为所有用户构建PATH环境变量的默认路径列表 /etc/paths.D /包含包含其他搜索路径的文件

非终端程序不继承您的终端所继承的系统范围的PATH和MANPATH变量!要为特定用户启动的所有进程设置环境,从而使MacOSX GUI应用程序可以使用环境变量,这些变量必须在~/. macosx /environment中定义。plist (Apple Technical Q&A QA1067)

使用以下命令行同步您的环境。Plist /etc/paths:

defaults write $HOME/.MacOSX/environment PATH "$(tr '\n' ':' </etc/paths)"

在Mountain Lion上,所有的/etc/paths和/etc/launchd.conf编辑都不起任何作用!

苹果的开发者论坛说:

“更改信息。.app本身的plist包含一个“lsenvirenvironment” 带有所需环境变量的字典。 ~ / .MacOSX /环境。不再支持Plist。”

所以我直接编辑了应用程序的信息。plist(右击“AppName. plist”)app”(在本例中是SourceTree),然后是“显示包内容”)。

我添加了一个新的键/字典对,称为:

<key>LSEnvironment</key>
<dict>
     <key>PATH</key>
     <string>/Users/flori/.rvm/gems/ruby-1.9.3-p362/bin:/Users/flori/.rvm/gems/ruby-1.9.3-p362@global/bin:/Users/flori/.rvm/rubies/ruby-1.9.3-p326/bin:/Users/flori/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:</string>
</dict>

(参见苹果的LaunchServicesKeys文档)

现在应用程序(在我的例子中是Sourcetree)使用给定的路径并使用Git 1.9.3:-)

PS:当然,您必须调整路径条目以满足您特定的路径需求。

我认为OP正在寻找一个简单的,类似windows的解决方案。

给你:

http://www.apple.com/downloads/macosx/system_disk_utilities/environmentvariablepreferencepane.html