使用nvm管理node版本
macOS
卸载之前安装的 node
如果安装 nvm 之前本地已全局安装过 node,请在终端执行下面脚本删除 node:
1 | 查看已经安装在全局的模块 |
安装 nvm
打开终端,进入当前用户的 home 目录:
1 | cd ~ |
使用 ls -a 显示当前目录下的所有文件(夹)(包含隐藏文件及文件夹),查看有没有 .bash_profile 文件:
1 | ls -a |
如果没有就创建:
1 | touch ~/.bash_profile |
然后执行 nvm 安装:
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash |
or
1 | wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash |
安装完成后,终端输入 nvm 验证是否安装成功,终端可能出现 Command not found,这并非没有安装成功,试试重启终端再输入 nvm 。一般情况下此时已可用。
执行 nvm 命令提示 Command not found
如果你的系统是最新更新的 macOS Catalina ,则重启终端也可能没用,因为默认的 shell 是 zsh,所以找不到配置文件。
解决方案:
一. 通过 source 读取并执行命令
1 | 1.新建一个 .zshrc 文件(如果没有的话) |
重启终端后就能使用 nvm 命令了。
二. 拷贝 .bash_profile 中的 nvm 相关环境配置到 .zshrc 中去
我在执行完方法以后,发现 nvm 命令是有了,但是我的终端 zsh 文字出现了乱码。所以我采取了方法二。
打开 .bash_profile 文件,将其中的 nvm 环境配置复制一份到 .zshrc 文件代码中的末尾去:
1 | export NVM_DIR="$HOME/.nvm" |
重启终端再次执行 nvm ,发现能够使用。
Window 10 64bit
卸载系统上现有 node(如果有)
此处基于windows 下 nvm 安装 node 之后 npm 命令找不到问题解决办法,在此基础上简化和完善。
- 在卸载程序中卸载 node
- 在环境变量中删除所有与 node 相关的路径(无论是 user 级,还是 system 级)
- 删除以下路径的文件(可能只有部分文件才有) C:\Program Files (x86)\nodejs
C:\Program Files\nodejs
C:\Users{User}\AppData\Roaming\npm
C:\Users{User}\AppData\Roaming\npm-cache
C:\Users{User}\node_modules (在我电脑上的路径)
下载 nvm
下载最新版 nvm 并安装nvm-setup.zip
更换镜像源
在 路径 C:\Users\{User}\AppData\Roaming\nvm\settings.txt
下添加以下两条
1 | node_mirror: https://npm.taobao.org/mirrors/node/ |
此时如果你还仔细观察,会发现C:\Program Files
下的 nodejs 问家家其实是一个快捷方式,指向的是 nvm 的安装路径C:\Users\i353667\AppData\Roaming\nvm
下对应的 node 版本。
nvm 常见命令
- nvm ls 列出安装 node 的所有版本
- nvm current 显示当前使用的版本
- nvm install 安装指定的版本,如 nvm install v8.13.0
- nvm uninstall 卸载指定的版本
- nvm use node-version 切换使用指定的版本
- nvm alias default v12.18.4 设置默认 node 版本
- nvm deactivate 解除当前版本绑定
- nvm ls-remote 获取远程可用版本
- nvm list available 获取可用的 node 版本列表