Mac系统安装nvm及踩坑记录

4,867 阅读2分钟

安装nvm踩了不少坑,为此记录一下:

坑1. 使用brew进行了安装;(不要使用brew install nvm的方式来安装)

坑2. 在安装nvm前装了nodejs;(在安装nvm时卸载nodejs)

坑3. 安装时出现“443: Connection refused”的问题;(我是多试几次才成功)

坑4. 在安装时出现下面提示:nvm is already installed in /Users/wyt/.nvm, trying to update using git; (最终还是多试了几次才成功)

坑5. 安装完成之后,每次重启终端之后,都需要重新执行source .bash_profile才能重新执行nvm命令;(因为使用了zsh,所以需要将配置添加到.zshrc中)

安装

安装前确认

安装前提是没有安装过nvm,nodejs,如果安装前使用brew安装过nvm,以及存在nodejs,要给它卸载;

  • 卸载brew安装的nvm,使用brew uninstall nvm

  • 查找并找到.nvm文件夹的位置,并给它手动删除

  • 卸载nodejs,通过brew安装的可以通过brew uninstall nodejs 或者 brew uninstall --ignore-dependencies nodejs卸载;

    安装包安装的,需要通过sudo进行强制卸载,命令为:

    sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
    

    我没使用过安装包安装,因此没使用这个命令。

正式安装

  1. 使用下列命令进行安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

安装过程中会碰到坑3,可以尝试多试几次,或者采用以下方法:

在终端输入命令sudo vi /etc/hosts并键盘按i进行文件修改,在文件的尾部追加以下内容:

199.232.68.133 raw.githubusercontent.com

然后按esc退出编辑并且使用:wq保存并退出,完成之后再次执行上面的安装命令。

直到终端结尾出现下面内容后即为安装完成:

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. 配置.bash_profile文件

注意点:

这时候要先进入.nvm文件夹,可以通过cd .nvm进入,之前看了很多教程,或许是我没注意,或许是人家没写,要先进入这个.nvm文件夹再打开.bash_profile文件,这个被坑了好久,导致自己配置了错误的文件。

通过命令open .bash_profile打开.bash_profile文件,如果文件不存在,就通过touch .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

保存并关闭文件,然后输入source .bash_profile执行后重新启动终端,输入nvm -v检查是否可以正常显示版本号。

image.png

  1. 解决坑5

通过命令open ~/.zshrc打开.zshrc文件,讲下列配置添加到文件中:

export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

最后执行source ~/.zshrc

nvm就安装完成了

nvm常用命令

nvm install + node版本号:安装指定版本的node。

nvm uninstall + node版本号:删除指定版本的node。

nvm use + node版本号:切换使用制定的版本。

nvm ls-remote:列出所有官方的node版本。

nvm ls: 列出所有安装的node版本。

nvm current:显示当前使用的版本。

nvm alias:给不同版本添加别名。

nvm unalias:删除自定义的别名。

nvm reinstall-packages:在当前node环境下,重新安装指定版本号的npm包。