GitHub:https://github.com/flitrue/npm-install-global
简介
当我们使用nvm
管理node
,切换node
版本时,安装在全局的npm
包无法共用之前node
版本中的npm
包,需要重新下载所有的全局模块,这很蛋疼。也许你可能这么做:
- 将全局安装好的所有模块(
node_modules/
下)复制到新版本node_modules/
中 - 添加
npm
配置,设置共用的prefix
(执行npm config set prefix "***"
)
第一种可以满足要求,但是不是很优雅;
第二种是行不通的,nvm会提示与npm配置prefix
不兼容。
nvm is not compatible with the npm config "prefix" option...
让执行nvm use --delete-prefix ***
or npm config delete prefix
才可以,这两句的意思是删掉你设置的npm
配置。
Q:难道没有其他办法了吗?
A:是的,就连nvm
官方都没有办法解决。
使用
将需要全局安装的模块名写到data.json
中,切换node
版本后执行以下命令,一键安装所有的模块
bash init.sh
安装一个新的全局模块时,例如安装pm2
,可执行:
bash install.sh pm2 # 相当于执行 npm i -g pm2,并将pm2模块写入data.json文件中