当我执行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相关的东西
当前回答
我重新安装NodeJS 关闭VSCode 打开VSCode到项目所在的位置,让它正常运行
其他回答
我的答案是做npm缓存清理——强制优先。然后执行npm install -g npm@5.3.0命令安装npm 5.3.0版本。对我来说,这个NPM版本毫无问题。
这是反病毒软件导致的典型错误。对于像我这样的情况,有一个变通办法,我不能禁用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)
}
我在更新到npm到5.4.2后遇到了同样的问题,npm开始对大多数npm命令给出相同的错误。一些解决方案建议使用—no-optional运行它,但它并不总是有效。
其他人建议降级,但我不想降级。
我怀疑是安装有问题,但不确定是什么问题。
所以我重新更新了npm:
npm i -g npm
从那以后工作得很好。
在我的情况下,这很有帮助:
在继续执行这些命令之前,关闭所有VS Code实例。
使用 NPM缓存清理——force 以管理员身份全局安装最新版本的NPM: NPM install -g npm@latest——force 使用 NPM缓存清理——force 尝试再次安装组件。
我希望这能解决你的问题。如果不是,您可以暂时禁用防病毒程序,然后重试。
我做了以下事情:
将npm升级到最新版本:npm install -g npm@6.5.0-next.0 删除npm-cache文件夹from: c:/users/[username]/AppData/Roaming/npm-cache 缓存清理:npm缓存清理-force 运行npm install。