前端 / 技术 · 2022年1月15日 0

NRM&NVM一站式管理Nodejs

Nodejs版本管理工具

安装NVM:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

有可能安装好后,就算重启Terminal也没有:

git上有一个关于这个的issue:https://github.com/nvm-sh/nvm/issues/576 应该能找到对应你问题的答案。我是因为换了shell,所以出错如下:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

两个问题需要注意:

1.对于全局安装的Node包,会根据版本隔离,也就是1.0.0版本Node的全局包,再安装了1.0.1Node时全局包就不能用了,要重新安装。当然这有点坑(或许也是优点,完全隔离),所以提供了一个安装命令参数:

nvm install 6 --reinstall-packages-from=5

意思就是安装6版本时,重新安装5版本的全局包。

2.同时还有一个有用的,就是每次安装Node版本时,可以指定安装默认的全局包。
需要在nvm的目录下创建:default-packages文件,然后里面每行指定一个包名,如下:

$NVM_DIR/default-packages

rimraf
object-inspect@1.0.2
stevemao/left-pad

设置永久Nodejs版本:

nvm alias default node

NPM registry manager 源管理工具

https://github.com/Pana/nrm

安装:

npm install -g nrm

查看:

nrm ls

<!--之前列出的内容-->
npm -----  https://registry.npmjs.org/
cnpm ----  http://r.cnpmjs.org/
taobao --  https://registry.npm.taobao.org/
nj ------  https://registry.nodejitsu.com/
skimdb -- https://skimdb.npmjs.com/registry

<!--现在列出的内容-->
npm ---------- https://registry.npmjs.org/
yarn --------- https://registry.yarnpkg.com/
tencent ------ https://mirrors.cloud.tencent.com/npm/
cnpm --------- https://r.cnpmjs.org/
taobao ------- https://registry.npmmirror.com/
npmMirror ---- https://skimdb.npmjs.com/registry/

切换源:

nrm use cnpm  //switch registry to cnpm

Registry has been set to: http://r.cnpmjs.org/