NVM下NPM/Yarn/PNPM环境变量配置全攻略

概述

在前端开发中,Node.js版本管理、包管理器(NPM/Yarn)的环境配置是基础且关键的环节。NVM(Node Version Manager)能便捷切换不同Node.js版本,搭配合理的NVM自身环境变量及NPM/Yarn环境配置,可避免版本冲突、路径混乱等问题,本文将详细讲解完整配置流程

一、前置准备

1.卸载 Node.js

  • 在安装之前需要卸载nodejs版本,打开系统控制面板卸载Nodejs
  • 系统变量用户变量中,找到 Path,删除所有包含 nodejsnpm 的路径
  • 删除目录: 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 available
  • nvm 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_HOMED:\Program Files\nvm\nvm(替换为你的NVM实际安装路径)。
  • 新建变量NVM_SYMLINKD:\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_globalnode_cache文件夹,分别用于存放NPM全局包和缓存
  • 创建yarn_globalyarn_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_PATHNODE_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_PATHD:\Program Files\nvm\node_global\node_modules(对应 NPM 全局包npm prefix -g 的 node_modules 路径)
  • 新建变量NODE_GLOBALD:\Program Files\nvm\node_global(对应 npm prefix -g 路径)

2.Yarn变量

  • 新建变量YARN_BIND:\Program Files\nvm\yarn_global\bin(对应 yarn global bin路径)
  • 新建变量YARN_GLOBALD:\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-dirglobal-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路劲保持一致,关闭命令行并重新打开

六、总结

  1. NVM核心环境变量需配置NVM_HOME(指向NVM安装目录)和NVM_SYMLINK(指向Node软链接路径),并将其加入PATH保证全局可调用。
  2. 统一NPM/Yarn全局路径可避免多Node版本重复安装包,搭配镜像源配置能提升包安装速度。
  3. 环境变量配置后需重启命令行验证,切换Node版本后需检查全局路径是否保持统一。

通过以上配置,可实现NVM、Node.js、NPM/Yarn环境的统一管理,彻底解决版本冲突、路径混乱、命令失效等问题,搭建稳定高效的前端开发环境。

参考资料

pnpm老是默认把包安装在C盘很头疼?教你快速配置pnpm的全局目录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容