报错:npm ERR code EPERM

1 完整错误

npm ERR! code EPERM
npm ERR! syscall open
npm ERR! path D:\NodeJS\node_cache\_cacache\tmp\7bbab18e
npm ERR! errno EPERM
npm ERR! FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/webpack: EPERM: operation not permitted, open 'D:\NodeJS\node_cache\_cacache\tmp\7bbab18e'
npm ERR!     at D:\NodeJS\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
npm ERR!     at async Arborist.[nodeFromEdge] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1061:19)
npm ERR!     at async Arborist.[buildDepStep] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:930:11)
npm ERR!     at async Arborist.buildIdealTree (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:216:7)
npm ERR!     at async Promise.all (index 1)
npm ERR!     at async Arborist.reify (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:149:5)
npm ERR!     at async Install.install (D:\NodeJS\node_modules\npm\lib\install.js:170:5)
npm ERR!  FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/webpack: EPERM: operation not permitted, open 'D:\NodeJS\node_cache\_cacache\tmp\7bbab18e'
npm ERR!     at D:\NodeJS\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
npm ERR!     at async Arborist.[nodeFromEdge] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1061:19)
npm ERR!     at async Arborist.[buildDepStep] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:930:11)
npm ERR!     at async Arborist.buildIdealTree (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:216:7)
npm ERR!     at async Promise.all (index 1)
npm ERR!     at async Arborist.reify (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:149:5)
npm ERR!     at async Install.install (D:\NodeJS\node_modules\npm\lib\install.js:170:5) {
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'open',
npm ERR!   path: 'D:\\NodeJS\\node_cache\\_cacache\\tmp\\7bbab18e',
npm ERR!   type: 'system',
npm ERR!   requiredBy: '.'
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.
(base) PS F:\tutorial-frontend\webpack\code> npm i webpack webpack-cli --save-dev
npm ERR! code EPERM
npm ERR! syscall open
npm ERR! path D:\NodeJS\node_cache\_cacache\tmp\671f2a33
npm ERR! errno EPERM
npm ERR! FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/webpack: EPERM: operation not permitted, open 'D:\NodeJS\node_cache\_cacache\tmp\671f2a33'
npm ERR!     at D:\NodeJS\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
npm ERR!     at async Arborist.[nodeFromEdge] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1061:19)
npm ERR!     at async Arborist.[buildDepStep] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:930:11)
npm ERR!     at async Arborist.buildIdealTree (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:216:7)
npm ERR!     at async Promise.all (index 1)
npm ERR!     at async Arborist.reify (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:149:5)
npm ERR!     at async Install.install (D:\NodeJS\node_modules\npm\lib\install.js:170:5)
npm ERR!  FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/webpack: EPERM: operation not permitted, open 'D:\NodeJS\node_cache\_cacache\tmp\671f2a33'
npm ERR!     at D:\NodeJS\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
npm ERR!     at async Arborist.[nodeFromEdge] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1061:19)
npm ERR!     at async Arborist.[buildDepStep] (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:930:11)
npm ERR!     at async Arborist.buildIdealTree (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:216:7)
npm ERR!     at async Promise.all (index 1)
npm ERR!     at async Arborist.reify (D:\NodeJS\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:149:5)
npm ERR!     at async Install.install (D:\NodeJS\node_modules\npm\lib\install.js:170:5) {
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'open',
npm ERR!   path: 'D:\\NodeJS\\node_cache\\_cacache\\tmp\\671f2a33',
npm ERR!   type: 'system',
npm ERR!   requiredBy: '.'
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.

2 错误详解

该错误发生在修改npm的全局安装路径之后,再执行npm install 包 -g或是npm install 包时发生,但是在管理员身份下运行cmd,均能执行成功。

2.1 修改npm全局安装:

  1. 命令行:
    npm config set prefix "D:\NodeJS\node_global"
    npm config set cache "D:\NodeJS\node_cache"
    
    在C盘User/用户名/下有一个.npmrc的文件
  2. 将上述node_global文件夹的路径加入环境变量

2.2 导致该安装问题的原因

没有管理员权限,无法在node_globalnode_cache两个文件夹下进行一些必要的操作

2.3 修复方法

  1. 删除用户下的.npmrc文件,即不改变全局安装的路径(不够好,本质问题仍没有解决,全局还是会安装在C盘)
  2. 每次都用管理员身份运行命令行(不够方便,vscode 下的命令行默认也不是管理员身份运行的)
  3. 直接修改node_globalnode_cache文件夹的权限:
    1. 右键文件夹,打开属性,切换到安全选项卡
      在这里插入图片描述
    2. 选择编辑,将没有打钩的位置全部打上钩(即将其它用户的权限设置为与管理员相同),应用即可。

3 运行测试

安装webpack测试,成功!
npm i webpack webpack-cli -g
npm i webpack webpack-cli --save-dev

### 回答1: npm err code epermnpm安装包时出现的错误代码,通常是由于权限不足导致的。解决方法是以管理员身份运行命令行或者在安装包前使用sudo命令。如果问题仍然存在,可以尝试更改文件或文件夹的权限。 ### 回答2: npm err code epermnpm 在执行某个操作的时候遇到了权限问题而抛出的错误信息。这个错误通常会发生在以下几种情况中: 1. 没有权限访问某个文件或文件夹:如果您在执行 npm install 或 npm update 等命令的时候,出现了 eperm 错误信息,那么可能是因为您没有权限访问某个文件或文件夹,可以通过使用 sudo 或者更改文件权限等方式解决。 2. 文件或文件夹的访问权限级别不够:在有些情况下,即使您是已经作为管理员运行的,您也可能无法在某个文件夹中创建或编辑文件。这时您需要检查文件或文件夹的访问级别是否足够,如果不够就需要对其进行修改。 3. 编辑器运行权限低或安装的模块权限不够:有时候您在使用某些编辑器时遇到此类错误信息,可能是因为编辑器运行权限低或者您正在安装的某些模块权限不够,这时您可以尝试以管理员身份运行编辑器或者使用 sudo 命令进行操作。 总之,在遇到 npm err code eperm 错误时,您需要首先了解错误发生的原因,然后通过相应的方式进行解决。对于开发者而言,遇到这种情况并找到问题的解决方案,可以提高工作效率,降低不必要的麻烦和困难。 ### 回答3: npm err code epermnpm出现错误的一种情况,通常表示没有足够的权限执行某个操作。这可能是由于以下原因引起的: 1. 系统权限问题:如果您在没有管理员权限的情况下尝试在系统级别安装软件包或执行其他操作,这可能会导致权限问题。您需要以管理员身份运行npm命令或请求系统管理员将您的权限提升到允许执行该操作所需的级别。 2. 没有正确安装node.js:如果您没有正确安装node.js,可能会导致npm出现权限问题。请确保您已正确安装node.js,并确保npm可用于执行其所需的所有操作。 3. 文件夹拥有者问题:如果您尝试在不是您拥有的文件夹中执行npm命令,这可能会导致权限问题。确保您有适当的文件夹权限,并且在执行npm命令时使用正确的用户。 4. 磁盘或文件系统权限问题:如果您的磁盘或文件系统权限不正确,则可能会导致npm出现权限问题。请确保您有适当的磁盘和文件系统权限,并且在执行npm命令时使用正确的用户。 要解决npm err code eperm问题,您可以尝试以下解决方法: 1. 以管理员身份运行npm命令。 2. 确保您有node.js的正确安装,并确保npm可用于执行其所需的所有操作。 3. 检查您的文件夹权限,并确保在执行npm命令时使用正确的用户。 4. 检查您的磁盘和文件系统权限,并确保在执行npm命令时使用正确的用户。 总之,npm err code eperm表示缺乏足够的权限执行某个操作。您需要检查您的权限设置,并确保您具有执行所需操作所需的全部权限。如果您无法解决问题,请尝试寻求更高级别的系统管理员或其他技术支持。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值