今天在全局安装 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
查看是否修改成功。