原因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")
        /*&amp;&amp; Date.now() - start < 60000*/) {
            console.log("Retrying rename file: " + from + " <&gt; " + to)
            fs$rename(from, to, CB);
      /*setTimeout(function() {
        fs.stat(to, function (stater, st) {
          if (stater &amp;&amp; stater.code === "ENOENT")
            fs$rename(from, to, CB);
          else
            cb(er)
        })
      }, backoff)*/
      if (backoff < 100)
        backoff += 10;
      return;
    }
    if (cb) cb(er)
  })
}})(fs.rename)
}

其他:待补充

原文地址:https://blog.csdn.net/weixin_45795947/article/details/129824156

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31066.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注