症状说明
在安装 Node.JS
环境,会自动把 NPM
全局模块的路径设置在系统盘安装根目录内(默认是 C:\Program Files\nodejs\node_modules
),当使用 npm install -g xxx
安装 NPM 全局包时,会提示没有权限创建文件夹:
Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\xxx'
可以使用管理员身份启动 CMD 来解决权限问题;但在项目开发阶段不建议全局路径设置在系统盘,不但会影响电脑的性能,而且还很不安全。
可以通过以下步骤来重新设置默认下载的全局路径目录:
输入命令,查看当前 NPM 配置:
npm config ls
第一步
在系统盘以外盘符的任意目录下新建两个文件夹,分别是:
D:\npm-modules
存放全局 NPM 包D:\npm-cache
存放 NPM 缓存
第二步
打开命令提示符,执行下面两条命令:
npm config set prefix "D:\npm-modules"
npm config set cache "D:\npm-cache"
执行成功后,可以用 npm config ls
命令查看配置的结果
第三步
验证配置成功后,需要配置环境变量,以便于在 CMD 中可以执行 NPM 全局包命令;
在环境变量的Path
变量名中,新建变量值:
D:\npm-modules
结束
重新执行NPM全局安装命令 npm install -g xxx
,查看 NPM
依赖包在全局的默认安装目录是否为配置好的目录,如果成功下载到了设置后的目录下,就成功修改了默认 NPM 全局包安装路径。
附言
默认安装 Node.JS
环境后,另外会默认使用 %APPDATA%\npm
和 %APPDATA%\npm-cache
作为 NPM 全局包和缓存路径;如果出现一开始的目录创建权限报错,也可以强制设置使用这两个目录:
npm config set prefix "%APPDATA%\npm"
npm config set cache "%APPDATA%\npm-cache"