mac安装nvm
1、nvm介绍
(1)什么是nvm?简单来说,nvm是一款可以用命令行快速切换node版本的工具!
(2)为什么要切换node版本?打个比方,你目前正在用node 14版本,现在出了node 16版本,你想测试一下你的项目在node 16版本会不会有问题,这时候是不是需要node版本切换?又比如vue3要求node的版本至少是16以上,而你目前在开发vue2的项目且node在16以下。
(3)不装nvm会怎样?你会非常麻烦!不断的去node官网下载16版本、14版本的node,还要不停配置环境变量,浪费很多时间,加一些没必要的班。
(4)装nvm会怎样?通过cmd的一行命令 nvm use 版本号 就能快速切换 node版本,省去额外配置,不用手动去node官网下载
2、mac安装nvm
2.1 下载方法一
// 打开terminal终端
// 输入以下命令,看你的shell是zsh还是bash
echo $SHELL;
// 输入以下命令
sudo curl -o- http://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | zsh
// 会出现403的错误,不过放心,403的错误不是你的原因,是githubusercontent服务器出现问题
2.2 下载方法二
2.2.1 先安装homebrew
// 打开terminal终端
// 输入以下命令
/bin/zsh -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
// 也同样出现403的错误
// 此时换种思路,不用国外镜像了,使用国内镜像
// 输入以下命令
sudo /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
// 建议选择中科大,也就是输入1,安装过程还要选择一次,也同样选择1,还要输入一次开机密码
// 说明你安装homebrew成功了
2.2.2 通过homebrew安装nvm
// 输入以下命令
brew install nvm
// 紧接着使用nvm use node的版本号,你会发现/usr/local/share/zsh 和 /usr/local/share/zsh/site-functions 没有写的权限
// 因此你需要输入以下命令给这两个文件夹写的权限
sudo chmod -R 777 /usr/local/share/zsh
sudo chmod -R 777 /usr/local/share/zsh/site-functions
// 再执行一遍 nvm use node ,发现 nvm还是不行
// 需要在执行以下命令让nvm在terminal生效
source $(brew --prefix nvm)/nvm.sh
source ~/.bash_profile
// 关掉terminal窗口,执行nvm命令,发现又不行了,要重新执行下面命令才能生效nvm
source $(brew --prefix nvm)/nvm.sh
source ~/.bash_profile
// 解决方法如下
(1)使用vim打开.bash_profile文件进行修改
vim ~/.bash_profile
// 将这段内容复制到.bash_profile 文件中去
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh(2)使用vim打开.zshrc文件进行修改
vim ~/.zshrc
// 将这段内容复制到.zshrc 文件中去
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh(3)使用vim打开.profile文件进行修改
vim ~/.profile
// 将这段内容复制到.profile 文件中去
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh(4)// 执行一下命令
source ~/.bash_profile
source ~/.zshrc
source ~/.profile
(5)重启terminal,输入nvm命令即可验证!
3、nvm常用命令
nvm -help // 查看所有nvm命令
nvm list // 显示当前电脑所拥有的node版本信息
nvm install xxx // 安装xxx
nvm use 版本号 // 切换node版本号
以上就是我踩坑记录,祝各位能顺利实现!!
更多推荐
所有评论(0)