【背景】
nvm 管理 node,默认的全局包,均安装在 node 当前版本下,每次切换版本,之前的全局安装包均失效。
为了方便全局包的管理,更改 npm 全局安装目录,使得版本切换不再影响全局 npm 包的使用。
一、查看全局包位置
npm root -g
二、修改全局包位置
npm config set prefix '目标目录'
三、查看修改结果
npm config get prefix
或
npm root -g
四、配置环境变量
vim ~/.bash_profile
export PATH = 目标目录/bin:$PATH
source ~/.bash_profile
五、安装全局包,测试是否可以正常使用
npm install -g yo
yo --version
【注】
全局命令无法使用问题排查:
echo $PATH
检查 $PATH 中是否包含:目标目录/bin。
如果包含,则应该可以正常使用。
如果不包含,可能原因之一如下,供参考:
环境变量配置中,nvm.sh 的执行要在 export PATH = 目标目录/bin:$PATH 之前。
如,.bash_profile 内容如下:
source /usr/local/opt/nvm/nvm.sh
export PATH=/usr/local/opt/nvm/npm_global_packages/bin:$PATH
注意这两句指令的顺序。顺序更换,则全局命令失效。
【附】
#参考: