使用Nvm搭建Node环境(Mac/Win/Linux)
avatar
Vpt
十二月 17, 2020
1462

每次查询我的笔记,总是需要在我记录的多份Node相关搭建中选择,出于整洁强迫症的需求,现在抽出时间整理成了一篇。本篇,不仅记录了Node环境在Linux、Win、Mac上的搭建方案,还给出了在使用过程可能遇到的问题的解决方案以供参考。

1. 安装Nvm

虽然可以直接在官网下载Node最新版本进行安装与配置。但是出于对于多版本切换的需求以及可能性,我的主张一直是尽可能地直接安装Nvm,一个Node的版本管理工具。

1.1 Linux环境

使用nvm-sh进行安装,可以查看nvm-sh的网站查看最新版本的安装脚本。

1.1.1 使用脚本下载安装

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

注意:如果此脚本无法执行成功,一般是国内服务器的网络不通。 可以访问IPAddress.com输入raw.githubusercontent.com,查询到真实IP地址。 然后修改hosts解锁真实ip,操作如下:

-- 1. 打开并编辑hosts文件
sudo vi /etc/hosts
-- 2. 在hosts文件中填写以下内容,*.*.*.*为刚才查询到的真实ip
*.*.*.* raw.githubusercontent.com

1.1.2 关掉并重新打开Shell

1.1.3 查看Nvm版本

nvm --version

使用此脚本安装的Nvm对应的安装目录如下: ROOT用户:/root/.nvm 其他用户:/home/username/.nvm

1.1.4 更换Nvm为淘宝源

-- 1. 打开环境配置文件
vi ~/.bash_profile 
-- 2. 输入以下环境配置,修改镜像为淘宝源
NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
-- 3. 执行以下命令,使其生效
source ~/.bash_profile

1.2 Win环境

1.2.1 安装

访问nvm-windows,并下载nvm-setup.zip。 下载完成后解压,点击安装即可。无需任何配置。

需要注意的是,在安装之前,请务必卸载或删除以下内容:

  • 任何存在的node版本
  • 现有的nodejs安装目录(例如:C:\Program Files\nodejs)
  • 现有的NPM目录(例如C:\Users\xxx\AppData\Roaming\npm)

1.2.2 更换源

安装目录下,找到settings.txt并添加以下内容:

node_mirror: https://npm.taobao.org/mirrors/node
npm_mirror: https://npm.taobao.org/mirrors/npm

1.3 Mac环境

在Mac下安装Nvm,首先请注意,不要使用Homebrew进行安装!原因如下:

Homebrew installation is not supported. If you have issues with homebrew-installed nvm, please brew uninstall it, and install it using the instructions below, before filing an issue.

出自 Nvm 官方文档

接下来说下正确的安装方式:

1.3.1 安装

终端执行命令:

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

1.3.2 测试是否安装成功

终端输入nvm list 看是否成功执行。 如果一切正常,此时NVM应可以在终端使用。 因为之前的安装命令会在.bash_profile文件中加入:

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

1.3.3 更换源

在.bash_profile中加入:

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

同时让.bash_profile的更改即时生效

source .bash_profile

2. 使用Nvm安装、管理Node版本

2.1 安装Node

2.1.1 查看当前所有可以安装的版本

-- Mac OR Linux
nvm ls-remote
-- Win
nvm list available

2.1.2 安装选择好的版本,例如v14.15.0

nvm install v14.15.0 

2.1.3 切换版本安装好的版本

nvm use v14.15.0 

2.1.3 设置默认版本为切换的版本

如果存在旧版本,当安装了新版本,会出现使用use指令切换版本后,再次打开终端,还是使用旧版本的情况,此时,可以使用nvm alias default指定默认版本即可。

nvm alias default v14.15.0  

2.1.4 测试是否安装与配置成功

node -v

2.1.5 Linux的相关安装目录

默认全局包目录: /.nvm/versions/node/vx.x.x/lib/node_modules 默认全局bin目录:/.nvm/versions/node/vx.x.x/bin 默认配置:/user/.npmrc

2.2 Nvm的常用命令总结如下:

  • nvm list 当前安装的所有NODE版本
  • nvm ls-remote 查看所有的NODE可用版本
  • nvm list available 查看所有的NODE可用版本(WIN10)
  • nvm v 查看版本
  • nvm install latest 安装最新版NODE版本
  • nvm install xxx 下载你想要的版本
  • nvm use xxx 使用指定xxx版本的NODE
  • nvm alias default xxx 设置默认版本
  • nvm uninstall xxx 卸载xxx版本的NODE

2.3 更换Npm源

2.3.1 方式1 指定默认源

npm config set registry https://registry.npm.taobao.org

2.3.1 方式2 安装Nrm进行源管理与切换 (推荐)

-- 1. 安装nrm
npm install -g nrm
-- 2. 查看可选的源,可以看到一个taobao的源
nrm ls 
-- 3. 测试相应源的响应时间
nrm test 
-- 4. 切换到taobao源
nrm use taobao

2.3.2 方式3 使用Cnpm(不推荐)

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后就可以使用Cnpm代替Npm。

个人不是很推荐这种方式,有时候安装依赖包会出现各种问题。

3. Npm备用命令

  • 查看全局安装过的包
npm list -g --depth 0
  • 升级依赖(空格选择,回车升级)
- npm-check
- npm install -g npm-check
- npm-check -u -g
  • 配置Npm代理
npm config set proxy=http://127.0.0.1:xxxx

4. 常见问题的解决

  • Electron安装失败

安装Electron时,可能会出现安装缓慢,甚至无法安装的问题,此时替换下Electron源即可。

npm config set ELECTRON_MIRROR https://npm.taobao.org/mirrors/electron
  • node-sass安装失败的问题
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass
  • windows-build-tools
npm install --global --production windows-build-tools
npm config set python "C:\\\\Users\\\\xxx\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python39\\\\python.exe"
  • Npm或者Yarn安装chromedriver时失败
npm config set chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
yarn config set "chromedriver_cdnurl" "https://npm.taobao.org/mirrors/chromedriver"

  • list -g lead to npm ERR! missing error?
npm update -g --verbose

5 参考

评论