$PATH 未更新

$PATH 未更新

似乎所有关于这个问题的内容都已经讨论过了,但我无法解决我的问题。我在 /etc/paths 中拥有所有必要的字符串

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

在 ~/.bash_profile 中

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:$HOME/.rvm/bin
export PATH="$(brew --prefix php54)/bin:$PATH"
export PATH="$(brew --prefix)/bin:$PATH"

但每次我执行

echo $PATH

在终端,我只得到

/usr/local/bin

如果我将 .bash_profile 字符串放入 .profile 或 .bashrc 则没有任何效果。

答案1

PATH 首先从 /etc/paths 构建,然后从 /etc/paths.d 中的文件构建,最后从 .bash_profile 构建。从最后一步开始,有条不紊地删除每个步骤,然后测试问题是否重现。

  1. 注释掉 .bash_profile 中的每一行并保存(或者您可以删除/重命名它)。
  2. 关闭您的终端并重新启动它以重建您的 PATH。
  3. echo $PATH。它应该包含 /etc/paths 中的所有内容。

如果 /etc/paths 中的所有内容都包括在内,则问题出在 .bash_profile 上。一次取消一行注释,直到问题重现。然后,您就会知道哪一行是问题所在,并且能够排除该行的故障,而不是解决模糊的 PATH 问题。

或者,如果删除 .bash_profile 不起作用,则说明在 .bash_profile 起作用之前发生了问题。检查 /etc/paths.d 中的文件 - 这些文件也会附加到您的 PATH。将它们移出 path.d,然后测试您的 PATH 是否从 /etc/paths 正确构建。

似乎很多人在使用 rvm 时遇到了一些问题,例如这个帖子 还有这篇文章,所以我猜问题出在你的 .bash_profile 上。祝你好运,并让我们知道。

答案2

在 shell 中执行以下操作:

$ source ~/.bashrc

这使得当前会话意识到这一变化。

答案3

解决问题的替代方法(它只对我有用,并且适用于 osx 用户)。

  1. 转到 /Users/用户名/
  2. 现在按 cmd + shift + 。 (现在所有隐藏文件都将可见)
  3. 尝试打开 .bash_profile 文件并查看 PATH 项是否存在
  4. 评论项目并回显 $PATH 并验证编辑是否得到反映。
  5. 如果没有,可能是你正在使用 zsh,因此请尝试编辑 .zprofile

答案4

尝试将$PATH变量放在行末。在我的代码中,.bash_profile我就是这样做的,而且效果很好。

export PATH="/usr/local/mysql/bin:$PATH"

相关内容