0


npm install 报错 Error: EPERM: operation not permitted, rename

报错的解决方案

原因1: 权限不足

用管理员身份打开终端再执行命令。

原因2:缓存出错

方法1

  1. 删除C:\Users{账户}\下的.npmrc文件
  2. 删除node_modules文件夹
  3. 执行命令npm cache clean -f
  4. 然后执行安装命令

方法2

  1. 删除node_modules文件夹
  2. 执行命令npm cache clean -f
  3. 重启电脑
  4. 再次执行安装命令

原因3:npm版本不够

  1. 执行npm install [email protected]
  2. 执行安装命令

原因4:网络不稳定

方法1

  1. 切换npm的下载源:npm config set registry https://registry.npm.taobao.org
  2. 检查当前下载源:npm config get registry,如果结果是上面的这个淘宝源,就切换成功了
  3. 再次执行安装命令

方法2

  1. 在安装命令后面加上--registry https://registry.npm.taobao.org

附上官方源地址: registry https://registry.npmjs.org/

原因5: 杀毒软件问题

方法1

关闭杀毒软件,然后再运行几次这个安装命令

方法2

  1. 找到该文件:[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js
  2. 在其中查找以下内容:
if(process.platform ==="win32"){//或者是if(platform ==="win32"){
  1. 在找到的位置的下面,修改文件为
/*
说明:
在这个语句中,有一个超时,在出现错误时进行重试。
问题是,在某些情况下,在超时之后,文件仍然被A/V锁定。
解决方案是去掉超时并让这个语句循环。对先前代码的更改进行了注释:
*/if(platform ==="win32"){

fs.rename =(function(fs$rename){returnfunction(from, to, cb){var start = Date.now()var backoff =0;fs$rename(from, to,functionCB(er){if(er
        &&(er.code ==="EACCES"|| er.code ==="EPERM")/*&& Date.now() - start < 60000*/){
            console.log("Retrying rename file: "+ from +" <> "+ to)fs$rename(from, to,CB);/*setTimeout(function() {
        fs.stat(to, function (stater, st) {
          if (stater && stater.code === "ENOENT")
            fs$rename(from, to, CB);
          else
            cb(er)
        })
      }, backoff)*/if(backoff <100)
        backoff +=10;return;}if(cb)cb(er)})}})(fs.rename)}

其他:待补充

标签: npm 前端 javascript

本文转载自: https://blog.csdn.net/weixin_45795947/article/details/129824156
版权归原作者 凌祈丶微光 所有, 如有侵权,请联系我们删除。

“npm install 报错 Error: EPERM: operation not permitted, rename”的评论:

还没有评论