似乎所有关于这个问题的内容都已经讨论过了,但我无法解决我的问题。我在 /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 构建。从最后一步开始,有条不紊地删除每个步骤,然后测试问题是否重现。
- 注释掉 .bash_profile 中的每一行并保存(或者您可以删除/重命名它)。
- 关闭您的终端并重新启动它以重建您的 PATH。
- 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 用户)。
- 转到 /Users/用户名/
- 现在按 cmd + shift + 。 (现在所有隐藏文件都将可见)
- 尝试打开 .bash_profile 文件并查看 PATH 项是否存在
- 评论项目并回显 $PATH 并验证编辑是否得到反映。
- 如果没有,可能是你正在使用 zsh,因此请尝试编辑 .zprofile
答案4
尝试将$PATH
变量放在行末。在我的代码中,.bash_profile
我就是这样做的,而且效果很好。
export PATH="/usr/local/mysql/bin:$PATH"