nvm的安装与使用(Mac 版)

NVM介绍

nvm官网:https://nvm.uihtm.com/

nvm(node version manager)是一个用于管理nodejs版本的工具。有时我们的项目可能会依赖于不同版本的nodejs,需要进行node版本的切换,可能就是到官网下载、覆盖安装、当要回退时又得下载会原来版本、覆盖安装...这样子太麻烦了。那么nvm就是为解决这个问题而生的,让你方便快捷地切换node版本。

删除本地node

安装nvm前先记住当前已安装的node版本号、然后将其卸载删除。

(原因:1、清除多余的node环境,用nvm集中管理node;2、避免出现冲突)

依次在终端执行以下命令,删除node

sudo npm uninstall npm -g

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

sudo rm -rf /usr/local/include/node /Users/$USER/.npm

sudo rm /usr/local/bin/node

sudo rm /usr/local/share/man/man1/node.1

sudo rm /usr/local/lib/dtrace/node.d

然后检查下:

node //command not found

npm //command not found

安装nvm

目前nvm最新版本v0.34.0

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

常见问题 

通过 nvm -v 命令检查是否成功。如果出现下面提示:

nvm: command not found

通过阅读nvm文档,里面有提到,如果出现这个问题原因可能是系统缺少.bash_profile文件,按照以下步骤操作:

1.在终端输入touch ~/.bash_profile

2.在终端输入source ~/.bash_profile

此时,如果还是找不到nvm的话

3.在终端输入. ~/.nvm/nvm.sh

这个时候,终于成功了。

 

但是这个时候,关闭终端后,仍然报错:zsh: command not found:

解决方案:

1、查看目录下是否有配置文件 .bash_profile 如果没有新建一个,并在其中写入:

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

 2、使 .bash_profile 生效

source ~/.bash_profile

3、配置 .zshrc 文件:查看是否存在,没有则新建,并在其中写入:

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

PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
export PATH

4、使 .zshrc生效

source ~/.zshrc

5、验证生效

重新打开一个终端,执行nvm -v,如果有版本号,则表明安装成功

nvm的使用

nvm install stable // 安装最新稳定版 node
nvm install <version> // 安装指定版本 (install v10.15.0或install 10.15.0)
nvm uninstall <version> // 卸载指定版本node,(如果删除的为当前使用版本,要解绑,则执行 nvm deactivate)
nvm use <version> // 切换使用指定的版本node
nvm current // 显示当前使用的版本
nvm ls // 列出所有安装的版本
nvm ls-remote // 列出官网上node的所有版本
nvm alias <name> <version> // 给不同的版本号添加别名
nvm unalias <name> // 删除已定义的别名
nvm alias default <version> // 指定默认版本(设定后需要打开新的终端才生效)
nvm deactivate // 解除当前版本绑定
posted @ 2021-04-08 00:13  小阿飞ZJF  阅读(763)  评论(0编辑  收藏  举报