npm install 报错no such file(npm install 报错 Error: EPERM: operation not permitted, rename)
导读:原因1: 权限不足 用管理员身份打开终端再执行命令。...
原因1: 权限不足
用管理员身份打开终端再执行命令 。
原因2:缓存出错
方法1
删除C:\Users{账户}\下的.npmrc文件 删除node_modules文件夹 执行命令npm cache clean -f 然后执行安装命令方法2
删除node_modules文件夹 执行命令npm cache clean -f 重启电脑 再次执行安装命令原因3:npm版本不够
执行npm install npm@6.0.0 执行安装命令原因4:网络不稳定
方法1
切换npm的下载源:npm config set registry https://registry.npm.taobao.org 检查当前下载源:npm config get registry ,如果结果是上面的这个淘宝源 ,就切换成功了 再次执行安装命令方法2
在安装命令后面加上--registry https://registry.npm.taobao.org附上官方源地址: registry https://registry.npmjs.org/
原因5: 杀毒软件问题
方法1
关闭杀毒软件 ,然后再运行几次这个安装命令
方法2
找到该文件:[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js 在其中查找以下内容: if (process.platform === "win32") { //或者是 if (platform === "win32") { 在找到的位置的下面 ,修改文件为 /* 说明: 在这个语句中 ,有一个超时 ,在出现错误时进行重试 。 问题是 ,在某些情况下 ,在超时之后 ,文件仍然被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) }其他:待补充
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!