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

2023-05-16

报错的解决方案

  • 原因1: 权限不足
  • 原因2:缓存出错
    • 方法1
    • 方法2
  • 原因3:npm版本不够
  • 原因4:网络不稳定
    • 方法1
    • 方法2
  • 原因5: 杀毒软件问题
    • 方法1
    • 方法2
  • 其他:待补充

原因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 npm@6.0.0
  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) { return function (from, to, cb) {
  var start = Date.now()
  var backoff = 0;
  fs$rename(from, to, function CB (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)
}

其他:待补充

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npm install 报错 Error: EPERM: operation not permitted, rename 的相关文章

随机推荐

  • 插值方法(一维插值、三次样条插值、二维插值的matlab自带函数,python实现/作图)

    数模比赛中 xff0c 常常需要根据已知的函数点进行数据 模型的处理和分析 xff0c 而有时候现有的数据是极少的 xff0c 不足以支撑分析的进行 xff0c 这时就需要使用一些数学的方法 xff0c 模拟产生 一些新的单又比较靠谱的值来
  • ROS中常用命令

    1 xff09 工作空间初始化 xff1a catkin init workspace 2 xff09 创建功能包 xff1a catkin create pkg pkg name reply 3 xff09 编译工作空间中的功能包 xff
  • 【DL】CNN的前向传播和反向传播(python手动实现)

    卷积层的前向传播和反向传播 说明 本文中 xff0c 只实现一层卷积层的正反向传播 xff08 带激活函数Relu xff09 xff0c 实现的是多通道输入 xff0c 多通道输出的 之前对深度学习的理解大多止于pytorch里面现成的A
  • Postman使用教程详解

    目录 1 Postman安装与接口请求基本操作1 1Postman安装1 2发起一个接口请求的小测试 2 接口测试实战2 1百度IP查询接口从抓包到测试实战2 2需要设置头域的请求实战2 3文件上传与json请求实战 3 Newman命令行
  • GNU Radio3.8创建OOT的详细过程(基础/C++)

    GNU Radio 学习使用 OOT 系列教程 xff1a GNU Radio3 8创建OOT的详细过程 基础 C 43 43 GNU Radio3 8创建OOT的详细过程 进阶 C 43 43 GNU Radio3 8创建OOT的详细过程
  • Johnson-Trotter(JT)算法生成排列

    对于生成 xff5b 1 xff0c xff0c n xff5d 的所有n xff01 个排列的问题 xff0c 我们可以利用减治法 xff0c 该问题的规模减一就是要生成所有 xff08 n 1 xff09 xff01 个排列 假设这个小
  • OSMWebWizard无法使用(Address family not supported by protocol)

    根据报错信息依次打开osmWebWizard py SimpleWebSocketServer py 查看对应行号的内容 xff0c 发现Simple py中有一个socket net6 可能是网络协议的问题 xff0c 查了一下 xff0
  • 粤嵌实训笔记二

    目录 20230227 20230303 xff08 第二周 xff09 main clcd clcd hbmp cbmp hgame cgame h 20230227 20230303 xff08 第二周 xff09 1 在Linux下
  • Arduino学习笔记:FreeRTOS——ESP32多任务处理

    Arduino学习笔记 xff1a FreeRTOS ESP32多任务处理 Demo span class token comment 创建任务一和任务二的句柄 xff0c 并初始化 span TaskHandle t TASK Handl
  • JAVA-信号量

    信号量 xff1a 信号量一般都有以下几个变量 xff1a count xff1a 记录可以使用的资源数wait list xff1a 等待信号量的队列 获取信号量需要判断count是否大于零 xff0c 即if count gt 0 若c
  • (程序猿专属)1024-我用代码写成浪漫情话表白你

    今天1024 xff0c 程序员节 xff01 不祝你们节日快乐了 xff0c 祝你们穿着拖鞋和裤衩去相亲吧 xff01 祝你们和甜蜜的爱情撞个满怀 xff01 一 我是你的什么啊 xff1f 你是我的bug啊 因为 xff0c 我每时每刻
  • C++中构造函数后的冒号

    C 43 43 中构造函数后的冒号 在C 43 43 中离不开类的定义 xff0c 而构造函数则是类的定义中很重要的一环 我们在构造函数中常常见到如下定义 xff1a span class token keyword class span
  • 论C语言没有输出的可能问题

    论C语言没有输出的可能问题 1 今天帮别人找bug xff0c 说是程序没有输出 题目如下 xff1a 错误代码如下 xff1a span class token macro property span class token direct
  • 【VS2019】报错:E0349没有与这些操作数匹配的运算符

    报错 xff1a E0349没有与这些操作数匹配的运算符 调试程序遇到该错误 xff0c 特此记录 span class token macro property span class token directive keyword inc
  • 基于docker技术搭建hadoop与mapreduce分布式环境

    基于docker技术搭建hadoop与mapreduce分布式环境 一 安装doker 1 宿主环境确认 如果没有的话 安装lsb relaease工具 apt install lsb release 检查版本 lsb release a
  • GNU Radio3.8创建OOT的详细过程(进阶/C++)

    GNU Radio 学习使用 OOT 系列教程 xff1a GNU Radio3 8创建OOT的详细过程 基础 C 43 43 GNU Radio3 8创建OOT的详细过程 进阶 C 43 43 GNU Radio3 8创建OOT的详细过程
  • 基于docker构建spark运行环境

    基于docker构建spark运行环境 一 安装docker与docker compose 参考之前的实验进行docker和docker compose的安装 二 系统构架图 xff1a 三 安装相关镜像 使用docker hub查找我们需
  • HDFS基本操作

    HDFS基本操作 HDFS的基本命令格式 hdfs dfs cmd lt args gt 注意 xff1a 需要事先将HADOOP HOME bin目录配置进入环境变量 列出当前目录下的文件 hdfs dfs ls 在HDFS创建文件夹 h
  • 使用mllib完成mnist手写识别任务

    使用mllib完成mnist手写识别任务 小提示 xff0c 通过restart命令重启已经退出了的容器 sudo docker restart lt contain id gt 完成识别任务准备工作 从以下网站下载数据集 MNIST手写数
  • npm install 报错 Error: EPERM: operation not permitted, rename

    报错的解决方案 原因1 xff1a 权限不足原因2 xff1a 缓存出错方法1方法2 原因3 xff1a npm版本不够原因4 xff1a 网络不稳定方法1方法2 原因5 xff1a 杀毒软件问题方法1方法2 其他 xff1a 待补充 原因