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

pat*_*ane 119 unix macos bash path environment-variables

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

首先,我试过这个,如何在Linux/Unix上永久设置$ PATH?但我有一条错误信息说no such file and directory,所以我想我可以尝试 ~/.bash_profile而不是~/.profile但它没有用.

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

〜/ .MacOSX/environment.plist

但我又no such file and directory错了.

我需要一种方法来设置这些变量,这样每次打开一个新的终端会话时都不需要反复设置它们.

小智 220

你必须添加它/etc/paths.

参考(适用于我):这里

  • 不要忘记“重新启动”您的终端。 (5认同)
  • 这是唯一适用于El Capitan的解决方案.比修改`.bash_profile`和`.profile`更好. (4认同)
  • 效果很好,但是我觉得这些步骤应该复制到这里的答案中 (2认同)

ipl*_*s26 23

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

  1. 正如最高投票的答案所说,vi /etc/paths从我的角度推荐.

  2. 另外不要忘记/etc/paths.d目录,其中包含的文件可能会影响$PATH变量,在我的情况下设置gitmono-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

  • 在某些情况下,我非常喜欢编辑 .bash_profile,因为如果您的机器上有两个用户帐户,您可以在例如 ~/dev/scripts 中为其中之一添加脚本 (2认同)

小智 14

sudo nano /etc/paths
Run Code Online (Sandbox Code Playgroud)

现在找到命令的路径,我给出了一个为颤动设置路径的示例。

/Users/username/development/flutter/bin
Run Code Online (Sandbox Code Playgroud)

现在 ctrl+x 然后 y 。重新打开终端并检查。


Ris*_*abh 13

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

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

cd /etc/paths.d
sudo vi newfile
Run Code Online (Sandbox Code Playgroud)

添加路径newfile并保存。

重启终端并输入echo $PATH确认

  • 我不确定为什么这个答案被否决了。这似乎是组织路径变量的合理且理智的方式。我使用 paths.d 为每个非标准路径变量创建单独的文件。 (3认同)
  • 是的,要保存文件并退出,我只需使用“Esc”,然后使用“:wq”和“Enter” (2认同)

小智 11

你也可以添加这个

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)

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

export PATH=$PATH:.
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您使用的是 zsh,请执行以下操作。

  1. 打开 .zshrc 文件 nano $HOME/.zshrc

  2. 您将在此处看到注释的 $PATH 变量

    # If you come from bash you might have to change your $PATH.
    # export PATH=$HOME/bin:/usr/local/...

  3. 删除注释符号 (#) 并使用分隔符 (:) 附加您的新路径,如下所示。

导出路径=$HOME/bin:/usr/local/bin: /Users/ebin/Documents/Softwares/mongoDB/bin :$PATH

  1. 激活更改 source $HOME/.zshrc

你完成了 !!!


Tia*_*ago 5

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

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)
Run Code Online (Sandbox Code Playgroud)

并添加:

export PATH="$PATH:your/new/path/here"
Run Code Online (Sandbox Code Playgroud)


Kee*_*asa 5

接受的答案有效。但它缺少一些重要的步骤。

第 1 步:使用您的路径更新 /etc/paths 文件

为此你需要 sudo。使用以下命令并使用您的路径添加新行 sudo vim /etc/paths

第 2 步:重新启动终端

这个非常重要。

  • 这个答案需要更多关注。这种方法效果最佳,无需进行更改或创建 .profile 文件。谢谢 (2认同)