概述
在前端开发中,Node.js版本管理、包管理器(NPM/Yarn)的环境配置是基础且关键的环节。NVM(Node Version Manager)能便捷切换不同Node.js版本,搭配合理的NVM自身环境变量及NPM/Yarn环境配置,可避免版本冲突、路径混乱等问题,本文将详细讲解完整配置流程
一、前置准备
1.卸载 Node.js
- 在安装之前需要卸载nodejs版本,打开系统控制面板卸载Nodejs
- 在
系统变量和用户变量中,找到Path,删除所有包含nodejs或npm的路径 -
删除目录:
C:\Users\<你的用户名>\AppData\Local\npm/npm-cache
2. NVM安装(以Windows为例)
- 下载地址GITHUB:NVM for Windows,选择
nvm-setup.exe安装包。 - 下载地址:NVM-Windows
- 安装时选择自定义路径(如
D:\Program Files\nvm),避免空格和中文 - Node.js安装路径可设为
D:\Program Files\nvm\nodejs(NVM会自动管理该路径的软链接)设置后文件夹会消失。 - 验证安装:打开命令行,执行
nvm version,输出版本号则安装成功。
3.NVM 切换国内镜像
在 nvm 的安装路径下,找到 settings.txt文件,设置node_mirror与npm_mirror的镜像地址,
- root: 设置存储不同版本node的目录。如果未设置,默认使用当前目录
- path: nvm安装时nodejs的路径,第一次使用不要创建文件夹会自己建立
root: D:\Program Files\nvm\version
path: D:\Program Files\nvm\nodejs
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
4. 通过NVM安装Node.js
nvm list availablenvm install 22.22.1-
nvm use 22.22.1(这里出错需要删除nodejs文件夹) - 测试:
node -v
# 查看可安装的Node.js版本
nvm list available
# 安装指定版本(如16.18.1)
nvm install 16.18.1
# 切换到该版本
nvm use 16.18.1
node -v
# 查看已安装版本及当前使用版本
nvm list
# 启用 Node.js 版本管理
nvm on
# 禁用 Node.js 版本管理
nvm off
# 卸载指定版本
nvm uninstall <version>
注意:切换Node.js版本时,需以管理员身份运行命令行,避免权限不足。
二、NVM环境变量配置
NVM安装完成后,部分场景下(如手动解压安装、安装路径异常)需要手动配置NVM环境变量,确保系统能全局识别nvm命令,以下是详细步骤:
2.1 添加系统变量和用户变量
- 新建变量
NVM_HOME:D:\Program Files\nvm\nvm(替换为你的NVM实际安装路径)。 - 新建变量
NVM_SYMLINK:D:\Program Files\nvm\nodejs(安装NVM时设置的Node.js路径)。 - 修改PATH变量:在系统变量和用户变量的
PATH中同时新增两行:
%NVM_HOME%
%NVM_SYMLINK%
说明:使用
%变量名%的形式可保证路径动态生效,后续修改NVM安装路径时只需更新NVM_HOME即可,无需重复修改PATH。
2.2 验证NVM环境变量
打开新的命令行窗口(必须重启命令行),执行以下命令验证:
# 查看NVM_HOME变量值
echo %NVM_HOME%
# 查看NVM_SYMLINK变量值
echo %NVM_SYMLINK%
# 再次验证NVM命令是否可用
nvm version
# 切换Node版本后验证
nvm use 18.12.1
node -v
# 验证Node路径是否为软链接路径
where node # Windows
若输出对应路径且nvm version正常返回版本号,说明NVM环境变量配置成功。
三、统一NPM/Yarn全局路径
由于NVM会切换不同Node.js版本,若每个版本都使用默认路径存储全局包,会导致重复安装、占用空间,因此需统一全局包和缓存路径。
1.创建统一目录
- 在NVM安装目录下(如
D:\Program Files\nvm) - 创建
node_global和node_cache文件夹,分别用于存放NPM全局包和缓存 - 创建
yarn_global和yarn_cache文件夹,用于Yarn全局包和缓存 - 创建
version文件夹,用于存储不同版本 node 的目录 -
nodejs文件夹,在nvm use使用时会自己创建 - 打开终端,输入以下命令:
mkdir "D:\Program Files\nvm\node_global"
mkdir "D:\Program Files\nvm\node_cache"
mkdir "D:\Program Files\nvm\yarn_global"
mkdir "D:\Program Files\nvm\yarn_cache"
mkdir "D:\Program Files\nvm\version"
2.配置NPM路径
# 查看当前NPM全局路径(默认随Node版本变化)
npm get prefix
npm get cache
# 设置统一的全局包路径
npm config set prefix "D:\Program Files\nvm\node_global"
# 设置统一的缓存路径
npm config set cache "D:\Program Files\nvm\node_cache"
3.配置用户变量
- 移步到环境变量配置,不过要先创建
NODE_PATH和NODE_GLOBAL变量,不然不能使用yarn命令 - 添加 PATH 变量: 在用户变量中添加,注意顺序
# npm变量
%NODE_GLOBAL%
%NODE_PATH%
4.NPM镜像源配置
# 永久设置淘宝镜像源
npm config set registry=http://registry.npmmirror.com
# 验证镜像源
npm config get registry
# 还原默认源(如需)
npm config set registry=https://registry.npmjs.org
# 安装cnpm(可选)
npm install -g cnpm --registry=http://registry.npmmirror.com
5. .npmrc配置文件
registry=http://registry.npmmirror.com
prefix=D:\Program Files\nvm\node_global
cache=D:\Program Files\nvm\node_cache
6.配置Yarn路径
先安装Yarn(通过NPM全局安装):
npm install -g yarn --registry=http://registry.npmmirror.com
再配置Yarn全局路径:
# 设置yarn 全局bin位置
yarn config set prefix "D:\Program Files\nvm\yarn_global"
# 设置Yarn全局安装目录
yarn config set global-folder "D:\Program Files\nvm\yarn_global"
# 设置Yarn缓存目录
yarn config set cache-folder "D:\Program Files\nvm\yarn_cache"
7.Yarn镜像源配置
# 永久设置淘宝镜像源
yarn config set registry=http://registry.npmmirror.com
# 验证镜像源
yarn config get registry
# 还原默认源(如需)
yarn config set registry=https://registry.yarnpkg.com
8.yarnrc配置文件
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
registry "https://registry.yarnpkg.com"
cache-folder "D:\\Program Files\\nvm\\yarn_cache"
global-folder "D:\\Program Files\\nvm\\yarn_global"
prefix "D:\\Program Files\\nvm\\yarn_global"
9.NPM/Yarn常用命令
# 查看npm全局安装位置
npm prefix -g
# 查看npm所有配置
npm config list
# 查看已安装的全局包
npm list -g --depth=0
# 查看Yarn所有配置
yarn config list
# 查看Yarn全局bin路径
yarn global bin
# 查看已安装的全局包
yarn global list
#查看 yarn_global 全局安装位置
yarn global dir
#查看 yarn_cache 全局缓存位置
yarn cache dir
四、环境变量配置(含NPM/Yarn)
1.NPM变量
- 新建变量
NODE_PATH:D:\Program Files\nvm\node_global\node_modules(对应 NPM 全局包npm prefix -g 的 node_modules 路径) - 新建变量
NODE_GLOBAL:D:\Program Files\nvm\node_global(对应 npm prefix -g 路径)
2.Yarn变量
- 新建变量
YARN_BIN:D:\Program Files\nvm\yarn_global\bin(对应 yarn global bin路径) - 新建变量
YARN_GLOBAL:D:\Program Files\nvm\yarn_global(对应 yarn global dir 路径)
3.变量配置
- 添加 PATH 变量:同时在系统变量和用户变量中添加,注意顺序
# nvm 变量
%NVM_HOME%
%NVM_SYMLINK%
# npm变量
%NODE_GLOBAL%
%NODE_PATH%
# yarn变量
%YARN_GLOBAL%
%YARN_BIN%
五、PNPM全局配置
1.安装PNPM
npm install -g pnpm
pnpm -v
# 配置淘宝镜像
pnpm config set registry https://registry.npmmirror.com/
# 验证镜像配置
pnpm config get registry
2.创建统一目录
在D:\Program Files\nvm\pnpm创建一个专门存放 pnpm 相关文件的目录,并在该目录下创建 5 个子目录(用于分类存储),打开终端,输入以下命令
mkdir "D:\Program Files\nvm\pnpm"
mkdir "D:\Program Files\nvm\pnpm\store"
mkdir "D:\Program Files\nvm\pnpm\global"
mkdir "D:\Program Files\nvm\pnpm\bin"
mkdir "D:\Program Files\nvm\pnpm\state"
mkdir "D:\Program Files\nvm\pnpm\cache"
3.配置pnpm路径
3.1.先删除pnpm默认生成的文件
pnpm config delete global-dir
pnpm config delete global-bin-dir
pnpm config delete store-dir
3.2.在配置全局路径
# 设置全局可执行文件路径
pnpm config set global-bin-dir "D:\Program Files\nvm\pnpm\bin"
# 设置全局包存储路径
pnpm config set global-dir "D:\Program Files\nvm\pnpm\global"
# 设置核心存储仓库路径
pnpm config set store-dir "D:\Program Files\nvm\pnpm\store"
# 设置运行状态文件路径
pnpm config set state-dir "D:\Program Files\nvm\pnpm\state"
# 设置下载缓存路径
pnpm config set cache-dir "D:\Program Files\nvm\pnpm\cache"
4.pnpm环境变量
- 按下
Win + R,输入sysdm.cpl,回车打开“系统属性”; - 切换到
高级选项卡,点击环境变量; - 在
用户变量和系统变量中,新建变量PNPM_HOME - 路径:自定义的
bin目录路径(如D:\Program Files\nvm\pnpm\bin) - 在
用户变量和系统变量中找到Path变量,同时添加%PNPM_HOME% - 保存后重启终端
5.验证配置
输入以下命令,查看配置是否生效:
pnpm config list
输出结果中,global-bin-dir、global-dir 等路径应指向自定义目录,即配置成功。
注意:若配置后出现路径显示 undefined,可先删除原有配置,重新执行命令:
pnpm config delete global-dir
pnpm config delete global-bin-dir
pnpm config delete store-dir
6.pnpm配置文件
和npm/yarn不同,pnpm的默认配置文件在C:\Users\Administrator\AppData\Local\pnpm\config\rc
global-bin-dir=D:\Program Files\nvm\pnpm\bin
global-dir=D:\Program Files\nvm\pnpm\global
store-dir=D:\Program Files\nvm\pnpm\store
state-dir=D:\Program Files\nvm\pnpm\state
cache-dir=D:\Program Files\nvm\pnpm\cache
7.常用 pnpm 命令
| 功能 | npm 命令 | pnpm 命令 |
|---|---|---|
| 安装所有依赖 | npm install | pnpm install(可简写 pnpm i) |
| 添加生产依赖 | npm install package | pnpm add package |
| 添加开发依赖 | npm install -D package | pnpm add -D package |
| 全局安装包 | npm install -g package | pnpm add -g package |
| 卸载依赖 | npm uninstall package | pnpm remove package(可简写 pnpm rm) |
| 运行脚本 | npm run dev | pnpm run dev |
| 查看全局包存储路径 | npm root -g | pnpm store path |
| 清理缓存 | npm cache clean --force | pnpm store prune |
# 查看依赖树(比 npm ls 更清晰)
pnpm list
# 预下载依赖
pnpm fetch
# 更新所有依赖
pnpm update
# 查看配置列表
pnpm config list(可简写 pnpm c list)
六、常见问题解决
1. 切换Node版本后全局命令失效
- 原因:环境变量未正确配置,或切换版本时未刷新环境变量。
- 解决:重新检查PATH变量,确保包含
%NVM_HOME%、%NVM_SYMLINK%、node_global路径;切换版本后关闭并重新打开命令行,或者删除之前node版本安装时PATH变量中自动生成的用户变量和系统变量
2. 安装全局包提示权限不足
- 原因:系统盘路径权限限制,或NVM/Node.js安装路径含中文/空格。
- 解决:以管理员身份运行命令行;确保所有配置路径无中文、空格,且文件夹权限为当前用户可读写。
3.使用nvm use 版本时报错
- 解决:只要将nodejs路径文件夹删除,并且
%NVM_SYMLINK%和nvm安装目录下的settings.txt文件里面的path路劲保持一致,关闭命令行并重新打开
六、总结
- NVM核心环境变量需配置
NVM_HOME(指向NVM安装目录)和NVM_SYMLINK(指向Node软链接路径),并将其加入PATH保证全局可调用。 - 统一NPM/Yarn全局路径可避免多Node版本重复安装包,搭配镜像源配置能提升包安装速度。
- 环境变量配置后需重启命令行验证,切换Node版本后需检查全局路径是否保持统一。
通过以上配置,可实现NVM、Node.js、NPM/Yarn环境的统一管理,彻底解决版本冲突、路径混乱、命令失效等问题,搭建稳定高效的前端开发环境。