昨天找打包问题的时候,在本地需要切换node版本去查看相关问题,刚好使用到nvm/nrm,做个记录,如有误请各位大佬不吝赐教!!! 以mac为例
nvm
nvm不支持windows, 如果是windows用户,可使用来自 TJ 的 n
nvm (node.js version management),nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs
1. 安装方法
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
或
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
如果网络不好,可使用如下方法:
# 安装
$ bash -c "$(curl -fsSL https://gitee.com/RubyKids/nvm-cn/raw/master/install.sh)"
安装成功后,通过执行 nvm 命令还是出现以下提示
command not found: nvm
那就需要把以下脚本复制到终端中,执行
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
再执行nvm -v 就可看到执行成功
如果重新打开终端,再次执行nvm又提示 command not find,这个时候,就需要打开电脑上 .zshrc 文件,将上面的脚本复制到.zshrc文件底部
如果mac电脑找不到 .zshrc 文件的话,按 command+shift+. 打开隐藏文件
如果遇到如下错误:
可尝试: 在终端输入 arch -x86_64 zsh,然后回车,终端进入Rosetta 2模式。重新安装nvm(curl -o- raw.githubusercontent.com/nvm-sh/nvm/… | bash),然后再继续nvm install 8,nvm install 6
nvm 安装成功后,就可以使用nvm 进行node版本切换等操作 例:
2. 使用
安装指定版本
nvm install <version>
使用执行版本
nvm use <version>
nrm
nrm(NPM registry manager)是 npm 的镜像源管理工具,使用它可以快速切换 npm 源。
作为开发,大家肯定会通过npm去下载第三方依赖包,但由于 npm 默认的下载仓储地址是 https://registry.npmjs.org/,属于外国的网站,所以我们下载的时候可能会非常的慢,油或者公司内部需要用自己的镜像源,那这个时候就需要,去切换镜像源,我们可以通过以下命令完成切换
npm config set registry url(镜像源地址)
这命令似乎有点儿长,不太好记,有其他方式吗?嗯,有,nrm
1. 全局安装
npm i nrm -g
执行npm list -g --depth 0 可看到全局是安装成功的
如果使用nrm命令的时候报错
执行npm install nrm open@8.4.2 -g
更改nrm 版本即可
2. nrm常用命令
nrm ls:查看所有配置好的源以及对应名称nrm add name url:添加源,name是名称,可以自行命名,后面是源的url地址nrm del name:删除源,根据名称name可以删除对应的源nrm use name:切换源,即可使用name对应名称的源- 更多命令在命令行输入
nrm回车,即可查看
n
TJ大神的 n 命令,n 命令是作为一个 node 的模块而存在
nvm 与 n 的区别
node 版本管理工具还有一个是 TJ大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。
由于 npm 安装的模块路径均为 /usr/local/lib/node_modules,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。
安装
npm install -g n
安装成功后在终端输入n --version或n查看。
终端输入sudo n回车后,可查看安装的node所有版本,可通过上下键,选择想要使用的node版本
选中回车之后,就会切换到对应的版本
查看更多
n命令,执行n help
希望可以帮到你;
如有疑问,请留言