【发布时间】:2018-04-23 08:39:44
【问题描述】:
我遇到了一个我无法解决的问题(使用 OSX EL CAPITAN 10.11.6)
我正在使用 bash 终端(shell)。这是我的/.bash_profile:
source ~/.profile
export PATH="/Applications/MAMP/bin/php/php7.2.1/bin/"
export PATH="/Applications/MAMP/htdocs/phalcon-devtools:$PATH"
export PTOOLSPATH=/Applications/MAMP/htdocs/phalcon-devtools
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
export PATH="/usr/bin:/bin:/usr/sbin:/sbin"
alias composer="php /usr/local/bin/composer.phar"
export PATH="$HOME/.npm-packages/bin:$PATH"
每次我重新启动计算机时,PATH 仅包含 "/usr/bin:/bin:/usr/sbin:/sbin",我必须手动导出所有内容。
此外,当我在我的"/usr/local/bin/" 目录中安装某些东西时,重新启动时不会考虑它。例如,我今天早上安装了 Angular.js。重新启动后,如果我在我的 bash 终端中输入 "ng -v",我会得到 "command not found"。
你知道我的电脑发生了什么吗? 感谢您的宝贵时间!
【问题讨论】:
-
你用的是什么终端模拟器?当您加载它时,它配置为运行什么外壳?你用什么选项加载那个 shell?
-
"例如我今天早上安装了 Angular.js" — 怎么样?
ng文件保存在哪里?它还在吗? -
在第 2 行,您将整个 PATH 替换为硬编码的路径。在第 3 行,您为其添加一个值。在第 5 行,您为其添加了更多值。在第 6 行,您擦除所有内容,第 2、3 和 5 行所做的。
-
感谢昆汀的反应。实际上,ng 文件已保存并且仍在目录 /usr/local/bin/ 中。对于您关于外壳的问题,恐怕我说不出来。那么你知道如何在导出路径时不删除之前的路径吗?
-
好的,我明白了,我必须做 PATH=$PATH: 后跟链接。但这并不能解决问题。你知道为什么我的 /usr/local/bin 中安装的所有东西都不能被识别为命令吗? (npm, ng, composer,....) 为什么我的 PATH 不工作???如果我输入 php -v 我会得到 5.3.8,尽管它在我的 PATH 中是 7.2.1。