我已经阅读了几个关于如何在OSX上永久设置环境变量的答案。
首先,我尝试了这个,How to permanently set $PATH on Linux/Unix?但是我收到了一条错误消息no such file and directory
,所以我想我可以尝试~/.bash_profile
代替~/.profile
但是它不起作用
其次,我找到了这个解决方案How to set the $PATH as used by applications in os x,建议在
中进行更改〜/ .MacOSX / environment.plist
但我又遇到no such file and directory
错误。
我需要一种方法来设置这些变量,以便每次打开新的终端会话时都不会再次设置它们。
答案 0 :(得分:205)
您必须将其添加到/etc/paths
。
参考(适用于我):Here
答案 1 :(得分:20)
我发现有些文件可能会影响macOS中的$PATH
变量(适用于我,10.11 El Capitan),如下所示:
正如最高投票的答案所说,vi /etc/paths
,从我的角度推荐。
另外请不要忘记/etc/paths.d
目录,其中包含可能影响$PATH
变量的文件,在我的情况下设置git
和mono-command
路径。您可以ls -l /etc/paths.d
列出项目,rm /etc/paths.d/path_you_dislike
删除项目。
如果您使用的是“bash”环境(例如默认Terminal.app
),则应该查看~/.bash_profile
或~/.bashrc
。可能还没有该文件,但这两个文件对$PATH
有影响。
如果您使用的是“zsh”环境(例如Oh-My-Zsh),则应该检查~./zshrc
而不是~/.bash*
。
并且不要忘记重新启动所有终端窗口,然后echo $PATH
。 $PATH
字符串为PATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2
。
注意前两种方式(/etc/paths
和/etc/path.d
)位于/
目录中,这将影响您计算机中的所有帐户,而最后两种方式(~/.bash*
或~/.zsh*
)位于~/
目录(又名/Users/yourusername/
),这只会影响您的帐户设置。
答案 2 :(得分:10)
你也可以添加这个
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
到~/.bash_profile
,然后创建~/.bashrc
,您可以在其中添加更多路径到PATH。 .
export PATH=$PATH:.
答案 3 :(得分:4)
您可以打开以下任何文件:
/etc/profile
~/.bash_profile
~/.bash_login (if .bash_profile does not exist)
~/.profile (if .bash_login does not exist)
并添加:
export PATH="$PATH:your/new/path/here"
答案 4 :(得分:4)
要在MacOS中将新路径添加到PATH环境变量中,只需在/etc/paths.d
目录下创建一个新文件,然后添加要在该文件中设置的写入路径。重新启动终端。您可以在提示符下使用echo $PATH
进行检查,以确认是否已将路径添加到环境变量中。
例如:将新路径/usr/local/sbin
添加到PATH
变量中:
cd /etc/paths.d
sudo vi newfile
将路径添加到newfile
并保存。
重新启动终端,然后输入echo $PATH
确认
答案 5 :(得分:3)
如果您使用的是 zsh,请执行以下操作。
打开 .zshrc 文件 Deployment Controller
您将在此处看到带注释的 $PATH 变量
nano $HOME/.zshrc
# If you come from bash you might have to change your $PATH.
删除注释符号 (#) 并像这样使用分隔符 (:) 附加您的新路径。
出口 PATH=$HOME/bin:/usr/local/bin:/Users/ebin/Documents/Softwares/mongoDB/bin:$PATH
# export PATH=$HOME/bin:/usr/local/...
大功告成!!!
答案 6 :(得分:1)
我尝试了第一种方法并经历了参考页面,执行良好的路径设置。但是当我回显$ PATH时它没有设置路径设置
答案 7 :(得分:0)
launchctl setenv environmentvariablename environmentvariablevalue
或
launchctl setenv environmentvariablename `command that will generate value`
使用正确的 ` 并记住重新启动应用程序或终端以使环境变量生效。
可以通过printenv命令查看环境变量。
注意:名为 path 的环境变量已经由其他人设置,因此我们在这里根本不会向该路径附加任何内容。
答案 8 :(得分:-1)
要在Mac中设置路径,可以遵循两种方法。
将~/.profile_bashrc
中的路径变量导出为
导出VARIABLE_NAME = $(PATH_VALUE)
AND来源路径。它简单而稳定。
您可以按path variable
或Mac terminal
设置任何linux
。