坑
安装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.*}
我没使用过安装包安装,因此没使用这个命令。
正式安装
- 使用下列命令进行安装
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
- 配置
.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
检查是否可以正常显示版本号。
- 解决坑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包。