如何使用nvm管理多个node版本

2020-11-012838

概述

项目做久了,经常会遇到不同项目要对应不同的 node 版本(旧项目要基于旧的 node 版本,新项目用到一些新依赖,又要切换到最新的 node之类的情况),nvm 的出现让我们可以方便快速从不同的 node 版本中快速切换。

安装

卸载已安装到全局的 node/npm

在安装 nvm 之前,先把之前安装的 node 删掉

# 查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装
npm ls -g --depth=0


# 先用 brew 删除 node(一开始用了 Homebrew 安装 node,所以直接用 brew 卸载 node)
brew uninstall node 


# 如果不是用 brew 的话,可以直接删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules


# 如果不是用 brew 的话,可以直接删除 node
sudo rm /usr/local/bin/node


# 删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm

安装 nvm

直接用 homebrew 安装 nvm

brew install nvm

将 nvm 加入到环境变量中

source $(brew --prefix nvm)/nvm.sh

这样就可以直接在命令行中使用 nvm 了

使用

nvm 常用命令

  1. 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4
    • nvm install <版本号>
  2. 删除已安装的指定版本,语法与install类似
    • nvm uninstall <版本号>
  3. 临时切换使用指定的版本node
    • nvm use <版本号>
  4. 永久切换使用指定的版本node
    • nvm alias default <版本号>
  5. 列出所有安装的版本
    • nvm ls
  6. 列出所以远程服务器的版本(官方node version list)
    • nvm ls-remote
  7. 显示当前的版本
    • nvm current

细节

  1. 安装 yarn
    • 官网上介绍,如果用 nvm 安装 node 的话,安装 yarn 要用 brew install yarn --without-node,但亲测不行,后来看资料说 yarn 删掉了这个参数,换成 brew install yarn --ignore-dependencies,然而,亲测,也是不行。后来直接放弃了,直接用 npm install -g yarn 安装
  2. nvm use <版本号>,只是临时切换使用指定的版本node
    • 安装好 nvm 后,$PATH 中会有 /Users/xxx/.nvm/versions/node/v12.19.0/bin,其中 v12.19.0 是当前node 的版本号
    • 本来用 nvm use <版本号> 切换到需要的版本号上,然后用 npm install -g taro 安装是没问题的,但切换了其它命令行后,发现 taro 提示 command not found 。后来细查之后才发现,nvm use <版本号> 只是在当前命令行环境下切换,并不是全局切换。如果想要全局切换,要用 nvm alias default <版本号>
分享
点赞1
打赏
上一篇:代理工具Fiddler -调试与替换接口状态
下一篇:next框架如何集成redux