在OSX中永久设置PATH环境变量


141

我已经阅读了关于如何将OSX上的环境变量永久设置为几个答案。

首先,我尝试了这个,如何在Linux / Unix上永久设置$ PATH?但是我收到一条错误消息,说no such file and directory,所以我认为我可以尝试 ~/.bash_profile代替~/.profile它,但是它不起作用。

其次,我找到了该解决方案如何在os x中设置应用程序使用的$ PATH,建议在其中进行更改

〜/ .MacOSX / environment.plist

但是我又no such file and directory出错了。

我需要一种设置这些变量的方法,这样就不必在每次打开新的终端会话时都一次又一次地设置它们。


您可以只创建〜/ .profile,大多数* nix系统可以识别该文件并在存在时使用它。您可能需要重新启动
trve.fa7ad 2013年

〜/ .MacOSX / environment.plist已过时。
PierreALBARÈDE18年

Answers:


258

您必须将其添加到中/etc/paths

参考(对我有用):这里


6
这是唯一适用于El Capitan的解决方案。比修改.bash_profile和更好.profile
IgorGanapolsky

1
提升了所添加参考的答案,该参考也解释了如何从路径中删除元素(在注释中)。
Amudhan

这在EL Capitan工作。关闭所有终端,然后打开一个新终端,以检查echo $ PATH。
Prem Ananth C

答案是5岁,但它仍然是最简单,最简单的解决方案。感谢您的回答+参考
Rachit马贡

不要忘记“重启”终端。
Neeraj Singh

27

我发现有些文件可能会影响$PATHmacOS中的变量(适用于我,10.11 El Capitan),如下所示:

  1. 正如获得最高投票的答案所说,vi /etc/paths从我的角度来看这是推荐的。

  2. 也不要忘记/etc/paths.d目录,其中包含文件可能会影响$PATH变量,在我的情况下请设置gitand mono-command路径。您可以ls -l /etc/paths.d列出项目和rm /etc/paths.d/path_you_dislike删除项目。

  3. 如果您使用的是“ bash”环境(Terminal.app例如默认设置),则应签出~/.bash_profile~/.bashrc。可能还没有那个文件,但是这两个文件对都有影响$PATH

  4. 如果您使用的是“ 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*)位于~/目录(aka,/Users/yourusername/)中,这将仅影响您的帐户设置。

阅读更多:Mac OS X:设置/更改$ PATH变量-nixCraft


2
在某些情况下,我非常喜欢编辑.bash_profile,因为如果您的计算机上有两个用户帐户,则可以在其中一个脚本中添加脚本,例如〜/ dev / scripts
PeteW

我没有意识到的是,我使用的是zsh而不是bash。谢谢!
母狮

11

您也可以添加此

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

~/.bash_profile,然后创建~/.bashrc您可以在其中添加更多路径到PATH的位置。一个例子.

export PATH=$PATH:.

谢谢。我使用了以前的解决方案,但是如果应用此方法,是否意味着我也可以将DYLD_LIBRARY_PATH变量设置为永久变量?
patti_jane 2014年

是的,您应该能够。如果要查看更改,请关闭终端并重新打开,或键入. ~/.bashrc
omoman

我将上面的代码添加到. ~/.bash_profile,然后重新打开终端并键入. ~/.bashrc,但是它说没有这样的文件或目录?
patti_jane 2014年

您需要创建它。上面的几行告诉您 .bash_profile加载.bashrc它是否存在。然后,在空白处.bashrc,您可以添加任何所需内容。
omoman

非常感谢!我知道我要问的太多了,但是您知道正确说明如何创建链接的地方.bashrc吗?我找不到一个好的。
patti_jane 2014年

8

您可以打开以下任何文件:

/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"

7

要在MacOS中将新路径添加到PATH环境变量中,只需在/etc/paths.d目录下创建一个新文件,然后添加要在该文件中设置的写入路径。重新启动终端。您可以echo $PATH在提示符下进行检查,以确认路径是否已添加到环境变量中。

例如:添加一个新的路径/usr/local/sbinPATH变量:

cd /etc/paths.d
sudo vi newfile

将路径添加到newfile并保存。

重新启动终端并键入echo $PATH以确认


我不确定为什么这个答案会被否决。看来是组织路径变量的一种合理而理智的方法。我使用path.d为每个非标准路径变量创建单独的文件。
p_q

1

我尝试了第一种方法并通过了参考页,很好地执行了路径设置。但是当我echo $ PATH时,它没有设置路径设置


1
您是否关闭了终端并重新启动,或致电source以加载新环境?
2015年

yaa..restarted terminal ..但是PATH变量不再存在
IgnitedMind 2015年

你是什​​么壳?检查ps -p $$。如果不是bash,则启动文件的名称将不同。
PierreALBARÈDE18年

0

在Mac中设置路径可以遵循两种方法。

  1. 为变量名创建一个文件,并将路径粘贴到/etc/paths.d下,并将该文件提供给profile_bashrc。
  2. 将路径变量导出~/.profile_bashrc

    导出VARIABLE_NAME = $(PATH_VALUE)

与路径。它简单稳定。

您也可以path variableMac terminal或设置任何值linux

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.