【问题标题】:npm update check failednpm 更新检查失败
【发布时间】:2018-01-20 20:42:18
【问题描述】:

昨晚我尝试更新我的节点和 npm,它似乎已经成功,但是从那以后,每当我尝试运行任何 npm 命令时,我都会遇到同样的错误。

我已尝试卸载并重新安装 npm,但无法通过下面的此错误消息。

节点版本:v8.3.0

我收到的错误消息:

┌───────────────────────────────────────────────────────────────────┐
│                      npm update check failed                      │
│                Try running with sudo or get access                │
│               to the local update config store via                │
│ sudo chown -R $USER:$(id -gn $USER) /Users/veritystothard/.config │
└───────────────────────────────────────────────────────────────────┘
module.js:491
    throw err;
    ^

Error: Cannot find module 'proto-list'
    at Function.Module._resolveFilename (module.js:489:15)
    at Function.Module._load (module.js:439:25)
    at Module.require (module.js:517:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js:1:79)
    at Module._compile (module.js:573:30)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)
    at Function.Module._load (module.js:462:3)

如果有人遇到此问题,我不确定此处还应包含哪些其他详细信息,我会非常感谢您的帮助。谢谢!

【问题讨论】:

标签: node.js npm


【解决方案1】:

这个问题有两个原因

  1. 您没有读写权限
  2. 由于窗口设置文件夹是安全的。

case 1st- 只启用读写权限 案例 2-如果你有读写权限但你仍然面临同样的问题,这意味着你的系统证券拒绝写入文件的请求,因为文件位置在 C 盘中给出

解决方案 - 只需在 Windows 10 中禁用防火墙/勒索软件保护。再试一次即可成功。

【讨论】:

    【解决方案2】:

    我是 Windows 用户。我通过转到/Users/&lt;username&gt; 右键单击​​.config 文件夹然后在属性中取消勾选只读并应用来解决我的问题

    【讨论】:

      【解决方案3】:

      以下是github的回答

      修复 windows,我收到了这条消息:

      npm update check failed 尝试使用 sudo 运行或访问 通过 sudo chown -R $USER:$(id -gn $USER) 本地更新配置存储 C:\Users.config

      所以我继续 C:\Users.config 并删除了 “配置存储”文件夹。一旦我这样做了,下次运行 npm start 时, 文件夹重新生成,错误停止

      修复 OSX:

      经过两个小时的尝试和失败后,我设法解决了以下问题:

      1. 转到文件夹 /usr/local/lib/node_modules/
      2. 右键单击文件夹 node_modules > 转到获取信息
      3. 更新权限 > 添加您自己和管理员帐户并为两者设置“读写”
      4. 在终端“npm install packageName”中运行
      5. 如果您仍然收到错误,请转到同一文件夹 /usr/local/lib/node_modules/ 并在文件夹 node_modules 中,以相同的方式更新新包文件夹的权限
      6. 尝试在终端“npm install packageName”中再次运行

      这对我有用!希望它可以帮助某人。

      【讨论】:

      • 这对我有用。已经拥有完全权限,但现在错误已经消失。
      • 对我来说,configstore 文件夹在 C:\Users\&lt;username&gt;\.config
      • 这也适用于 Linux。 rm -rf .config/configstore
      • 我今天遇到了这个问题,它不再提示更新。很好的解决方案!
      • @tiomno 实际上对我来说运行错误消息中推荐的命令也有效:sudo chown -R $USER:$(id -gn $USER) ~/.config
      【解决方案4】:

      如果用户在 unix 环境中没有 sudo 权限,请记住要使用 (-> USER) 发出命令的用户名。然后使用

      输入您的根密码。那么

      chown -R USER:USER .config

      使用 root 创建的其他 .config 文件夹也已更改。在我的情况下,更改 ~/.config/nvws 的所有者完成了这项工作 (chown -R THE USER YOU USE NPM WITH:THE USER YOU USE NPM WITH .config/nvm)

      【讨论】:

        【解决方案5】:

        以管理员权限运行一次 cmd 对我来说就足够了。 刚刚做了npm version

        之后它再次工作,也没有管理员权限。 我没有删除任何内容。

        {
          npm: '6.13.6',
          node: '12.14.1',
          ...
        }
        

        【讨论】:

          【解决方案6】:

          我有一个在 OSX Catalina 上对我有用的修复:

          -------------------------------------
          /var/log/nodejs/nodejs.log
          -------------------------------------
          > node server.js
          
          €â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
          │             npm update check failed              │
          │       Try running with sudo or get access        │
          │       to the local update config store via       │
          │ sudo chown -R $USER:$(id -gn $USER) /tmp/.config │
          └──────────────────────────â”
          

          我在终端中运行了以下代码,并按照此处的建议:sudo chown -R $USER:$(id -gn $USER) /tmp/.config & 重新部署到我的实例,但仍显示降级状态。

          我这样做了几次,但都没有成功。

          因为我有一个准备好的重复实例,所以我认为这不是我本地机器上的权限问题。

          以下修复对我有用(请注意,我的代码是通过 AWS CodePipeline 部署到 ebs 的”:

          1. 从您的 express/node 项目中删除 package-lock.json
          2. 运行npm i
          3. git add &amp;&amp; git commit -m "your commit msg" &amp;&amp; git push

          在您的 aws 控制台中,转到 代码管道 并验证您的代码已成功部署。

          导航到 Elastic Beanstalk。如果您的代码推送成功,您应该会看到您的实例正在更新。

          在此之后,您的 EBS 环境的状态应该处于就绪状态。

          希望这对某人有所帮助。

          【讨论】:

          • 太棒了!由于各种原因,我出现了这个错误。有一次,文件在本地和代码中被重命名,但在 git 中没有。这次我只是想不通为什么。删除 package-lock.json,提交然后重新部署对我有用!
          【解决方案7】:

          如果您不想 chown 整个 .config 目录(其中包含来自其他程序的配置文件),请尝试:

          sudo chown -R $USER:$(id -gn $USER) "/home/skaestle/.config/configstore/"
          

          【讨论】:

          • 这对我有用!如果您不想删除 .config 目录(您可能不希望它发生),这非常有用
          【解决方案8】:

          我在 AWS 服务器上遇到了同样的问题,我使用此命令更新配置权限,并且 npm 命令运行顺利。

          sudo chown -R $USER:$(id -gn $USER) ~/.config

          【讨论】:

            【解决方案9】:

            我在 Centos 7 上遇到了同样的错误(npm 更新检查失败),但在安装节点时没有,只是在登录服务器时,因为没有更多空间了。删除了一些文件,更新了系统,一切都恢复正常了。

            以防万一其他人遇到同样的问题。

            【讨论】:

              【解决方案10】:

              在命令下运行后为我工作

              nvm use --delete-prefix version
              

              【讨论】:

                【解决方案11】:

                我有一个 Windows 10 环境:

                对我来说,首先我确实确保所有 node.exe 实例都被杀死:

                taskkill /t /f /im node.exe
                

                然后我使用 npm-check-updates 将 npm 更新到最新版本

                最后,我从用户主页C:\Users\&lt;USERNAME&gt; 中删除了.config 文件夹

                这解决了我的问题。

                【讨论】:

                  【解决方案12】:

                  在命令提示符下运行以下命令

                  第 1 步:(如果可能,以管理员身份打开 cmd) - npm install -g npm-check-updates

                  第 2 步: - 打开新的命令提示符并创建一个新项目

                  【讨论】:

                    【解决方案13】:

                    运行脚本检查更新

                    sudo npm install -g npm-check-updates
                    

                    以后使用sudo npm更新

                    【讨论】:

                      【解决方案14】:

                      如果您使用的是 macOS,则必须更新配置文件。您只需在终端中输入以下命令:

                      sudo npm i -g npm
                      

                      【讨论】:

                      • 非常好......这条评论对我来说很好。但是我从哪里得到这个配置文件。
                      • 感谢这对我有用
                      【解决方案15】:

                      尝试运行命令提示符Run as administrator 模式,如果这不能解决您的问题,请删除c:\user\&lt;name of the user&gt;\ 下的.config 文件夹,然后尝试运行命令提示符Run as administrator 模式。

                      【讨论】:

                      • 删除 .config 后以管理员身份重新启动提示为我工作!
                      【解决方案16】:

                      节点更新后我有类似的错误,所以我只删除目录 .config 和这个帮助。

                      【讨论】:

                      • 我在哪里有这个 .config 文件??
                      • C:\Users\User_Name\.config
                      • @SivaGanesh 这不是一个文件,它是一个文件夹
                      • 删除完整的.config 文件夹是个坏主意,尤其是在Linux 上。如果你想走删除路线,那么只删除.config/configstore 文件夹。
                      猜你喜欢
                      • 1970-01-01
                      • 2020-04-04
                      • 1970-01-01
                      • 2018-09-08
                      • 1970-01-01
                      • 2017-11-02
                      • 2013-10-12
                      • 1970-01-01
                      • 2016-01-06
                      相关资源
                      最近更新 更多