当我执行npm install时,我得到这个错误
npm犯错!C:\projects*******\node_modules.react-async-script. delete
我以管理员身份运行cmd 我之前运行过npm cache clean 我确保所有其他应用程序没有打开任何与node_modules相关的东西
当我执行npm install时,我得到这个错误
npm犯错!C:\projects*******\node_modules.react-async-script. delete
我以管理员身份运行cmd 我之前运行过npm cache clean 我确保所有其他应用程序没有打开任何与node_modules相关的东西
当前回答
我在VSCode中使用终端,我意识到我正在使用bash终端而不是节点终端。
其他回答
这是反病毒软件导致的典型错误。对于像我这样的情况,有一个变通办法,我不能禁用a /V(公司政策)。
你必须改变Npm包中的polyfills.js:
[NODE_HOME] / node_modules / npm / node_modules / graceful_fs / polyfills.js
看看这句话:
if (process.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)
}
最有可能的是node_modules文件夹变成了只读。你可以尝试更新文件夹权限,但如果你没有管理员权限,npm install——force将会工作。
我多次面对这个问题。 事实证明,它与权限、缓存等无关。错误消息具有误导性。 对于节点v6。在7.x之后,你会看到更详细的错误堆栈 对我和我的大学来说,问题是超时函数。基本上,当npm试图删除它时,包安装还没有完成(即保留目录)。节点6。X,你可以看到在finalize.js中,它消失了! 只用纱线。
以超级管理员身份运行命令对我来说很有效。关闭正在使用的编辑器后重试。
在Windows上运行npm: v6.9.0 && node: v10.16.1的情况下,我必须以管理员身份运行CLI (git bash)。然后安装包,没有任何警告/错误