安装Express后依赖文件未显示+npm全局安装EPERM权限报错求助
问题概述
- 本地文件夹执行
npm install express后终端提示安装成功,但未生成node_modules和package-lock.json文件,无法搭建服务器 - 尝试执行
npm install -g npm@8.6.0升级npm时触发EPERM权限错误,错误信息如下:
C:\Users\91626>npm install -g npm@8.6.0
npm ERR! code EPERM
npm ERR! syscall mkdir
npm ERR! path C:\Program Files\nodejs\node_modules.npm-QXjMEw5N
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules.npm-QXjMEw5N'
npm ERR! [Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules.npm-QXjMEw5N'] {
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'mkdir',
npm ERR! path: 'C:\Program Files\nodejs\node_modules.npm-QXjMEw5N'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.npm ERR! A complete log of this run can be found in: C:\Users\91626\AppData\Local\npm-cache_logs\2023-08-30T07_05_51_937Z-debug-0.log
解决方案
一、修复Express本地安装无文件生成问题
- 确认终端当前路径:执行
cd(Windows)或pwd(类Unix)查看所在目录,确保是目标项目文件夹 - 初始化项目:若未生成
package.json,先执行npm init -y创建配置文件,再重新运行npm install express - 清除npm缓存:执行
npm cache clean --force,清除缓存后重试安装 - 关闭占用程序:临时关闭杀毒软件、正在打开该文件夹的编辑器等可能拦截文件写入的程序,再执行安装命令
二、解决npm全局升级EPERM权限错误
- 以管理员身份运行终端:右键CMD/PowerShell选择「以管理员身份运行」,重新执行
npm install -g npm@8.6.0 - 调整Node.js目录权限:
- 打开文件资源管理器,找到
C:\Program Files\nodejs文件夹 - 右键选择「属性」→「安全」→「编辑」,添加当前用户(如
91626),赋予「完全控制」权限 - 保存设置后重新执行升级命令
- 打开文件资源管理器,找到
- 关闭安全工具:临时关闭杀毒软件或系统安全防护工具,避免其拦截系统目录的写入操作
- 使用nvm管理版本(推荐):
- 卸载当前Node.js,安装nvm(Node版本管理器)
- 通过nvm安装指定版本的Node.js,nvm会自动处理权限问题,无需管理员权限即可管理全局包与npm版本
内容的提问来源于stack exchange,提问作者Aditya Tiwari

