nvm 基础安装与坑点

nvm 常规安装步骤

背景:在多个项目开发过程中,发现有些依赖下载特别慢,甚至下载不下来,分析发现是因为npm版本过低而导致下载慢的问题

解决方案

  1. 方案一:直接升级node,但是涉及多个项目,不推荐。
  2. 方案二:安装nvm,进行不同的node版本管理

1. nvm 安装前准备工作

为了避免已下载的node和全局node模块冲突,建议删除已安装的node

可以运行下面指令:

// 查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装
npm ls -g --depth=0

// 删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules

// 删除 node
sudo rm /usr/local/bin/node

// 删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm

2. nvm 安装

// 安装nvm指令
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

// 创建zsh配置文件
touch ~/.zshrc  

// 编辑配置文件
vim ~/.zshrc 

//增加下面的配置其一(一般配置2即可)

// 1、这是本地不存在配置文件的时候提示需要添加的配置
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

// 2、这是本地存在配置文件的时候提示需要添加的配置(推荐)
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

//退出vim
esc + :wq

//重新加载配置文件
source ~/.zshrc

//查看是否安装成功
nvm -v

3. nvm 基础指令

// 查看已安装的node版本
nvm list  

//查看所有的远程服务器的版本
nvm ls -remote

//查看长久支持的node版本
nvm list available 

//显示当前的版本
nvm current

//给不同版本加别名
nvm alias  

//删除已定义的别名
nvm unalias 

//安转稳定的node版本
nvm install stable

//安装(删除)指定的node版本
nvm install(uninstall) 12.16.1 

//切换使用的指定的node版本,只在当前窗口生效
nvm use v12.16.1 //使用某版本的node
  
//永久版本-所有窗口生效指定版本
nvm alias default 

注意:在任意一个命令行窗口进行切换之后,其他的窗口或其他命令行工具窗口 需要关掉工具,重启才能生效。(例如 VSCode内或外部命令切换之后,需要重启 VSCode,才能正常生效,否则或处于 临时生效状态,也就是在 VSCode中重新打开一个命令行查看版本还会是旧版本,所以必须要重启。)这里的 重启 不是简单的关掉窗口重启,没有退出后台进程,而是完全退出杀死工具进程,重新启动。

4. nvm 碰见坑点

4.1 nvm 安装node版本报错clang: error: no such file or directory: ‘CXX=c++‘

解决方案:
第一步:打开 访达 >>> 左侧点击应用程序 >>> 找到你的终端
第二步:鼠标放在“终端” app上 右键 >>> 显示简介
第三不: 勾选使用Rosetta打开, 关闭所有终端重新打开后就正常了

4.2 nvm install安装新版本node报错LibreSSL SSL_read: SSL_ERROR_SYSCALL

解决方案:
第一步:vim编辑器打开bash_profile文件:

sudo vi .bash_profile

输入下面代码:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \."$NVM_DIR/nvm.sh"  # This loadsnvm
[ -s "$NVM_DIR/bash_completion" ] && \."$NVM_DIR/bash_completion"  #This loads nvm bash_completion

按 esc,然后输入:wq保存退出,重启命令行后重新执行安装命令,如还是不行,执行第二步

第二步 :修改计算机网络配置
系统在解析hostname时使用了ipv6,取消使用,输入下面代码:

networksetup -setv6automatic Wi-Fi

你可能感兴趣的:(工具使用,nvm,node)