发现问题
问题描述:mac中sudo npm install -g nrm安装之后,执行nrm ls 报command not found: nrm。
遇到command not found很多次了,今天终于解决了,记录一下。
其实就是环境变量配置有问题。
解决方法
1、检查环境变量配置:npm -g bin
2、输出环境变量: echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
可见环境变量中没有/Users/oxcoder/.npm-global/bin
3、修改环境变量:vim ~/.bash_profile
,将/Users/oxcoder/.npm-global/bin
添加到PATH中。
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/Users/oxcoder/.npm-global/bin"
export PATH
:wq
回车保存
source ~/.bash_profile
配置生效
4、再次查看环境变量: echo $PATH
可见已修改成功。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/Users/oxcoder/.npm-global/bin
5、然后再安装nrm,执行nrm ls就成功了。
新的问题
重新打开终端,echo $PATH
发现之前修改的没生效还是修改前的PATH,cat ~/.bash_profile
又是修改后的PATH。
百度了一下原因是mac终端类型有两种,zsh和bash,其中,bash初始化默认.bash_profile,zsh初始化默认.zshrc。我的系统默认zsh终端,所以.bash_profile并不会初始化。
解决方法是:
方法1:切换终端到bash chsh -s /bin/bash
方法2:zsh添加环境变量 vim ~/.zshrc
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/Users/oxcoder/.npm-global/bin"
export PATH
:wq
回车保存
source ~/.zshrc
配置生效