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不兼容。
1 | 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版本后执行以下命令,一键安装所有的模块
1 | bash init.sh |
安装一个新的全局模块时,例如安装pm2,可执行:
1 | bash install.sh pm2 # 相当于执行 npm i -g pm2,并将pm2模块写入data.json文件中 |