今天在全局安装 cnmp
(npm
中国镜像)的时候遇到了一个问题,就是装好后无法全局调用,输入
cnpm
的时候出现 zsh: command not found: cnpm
,我猜想可能是
PATH 的问题。
网上做了下功课,PATH 的读取顺序大概这样:
/etc/profile (所有用户/for all users)
~/.bash_profile (当前用户/for actual user)
~/.bash_login (当前用户/for actual user)
~/.profile (当前用户for actual user)
理论上不建议修改系统的这些 PATH,要改就改自己使用的 bash 对应的配置文件。可以输入
echo $SHELL
查看自己用什么 bash。
如果你没切换过 bash,那么肯定是默认的
bash
(/bin/zsh),配置文件就是上面的
~/.bash_profile
。如果你和我一样用了
zsh
(/bin/zsh)那么置文件是 ~/.zshrc
。
# PATH ----------------------------------------
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
以 bash
为例(zsh 用户请自行脑补),输入
vi ~/.bash_profile
可以看到 PATH=
的那行,其格式为:export PATH=~/bin1:~/bin2:~/bin3:**$PATH**
可以看到每写一个 path
(路径)都要用 :
隔开,只有最后一个
path 后面不需要加 :
。
特别需要留意的是最后那个
**$PATH**
,这是什么呢?这是系统默认以及各种软件比如 Xcode
的追加 path
,所以
**$PATH**
我们一定要把他放在最后,不然某些软件启动就会找不到路径了。
修改完成后是不会马上生效的,只有输入了
source ~/.bash_profile
才会刷新,最后可以通过
echo $PATH
查看是否修改成功。