当我执行npm install时,我得到这个错误

npm犯错!C:\projects*******\node_modules.react-async-script. delete

我以管理员身份运行cmd 我之前运行过npm cache clean 我确保所有其他应用程序没有打开任何与node_modules相关的东西


当前回答

这是反病毒软件导致的典型错误。对于像我这样的情况,有一个变通办法,我不能禁用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 install。这对我很管用。

我做了以下事情:

将npm升级到最新版本:npm install -g npm@6.5.0-next.0 删除npm-cache文件夹from: c:/users/[username]/AppData/Roaming/npm-cache 缓存清理:npm缓存清理-force 运行npm install。

对我来说,我做的是f。renameSync当此错误发生时。

“new”路径似乎已经存在,删除它不会抛出错误。

这并不能真正解决问题,但如果你像我一样想要构建应用程序,这是可行的。

在我的情况下,这很有帮助:

在继续执行这些命令之前,关闭所有VS Code实例。

使用 NPM缓存清理——force 以管理员身份全局安装最新版本的NPM: NPM install -g npm@latest——force 使用 NPM缓存清理——force 尝试再次安装组件。

我希望这能解决你的问题。如果不是,您可以暂时禁用防病毒程序,然后重试。

我也得到了同样的东西。我没有在任何地方找到这个,但它击中了我,我们的虚拟机倾向于将文件更改为只读状态。于是我打开了包裹。在“常规”选项卡中取消选择“只读”。

步骤

去找包裹。json文件。 右键单击并选择属性。 在“常规”页签的“属性”部分,取消选择“只读”。 单击Apply以应用更改。