【问题标题】:NPM install hangs on loadRequestedDepsNPM 安装在 loadRequestedDeps 上挂起
【发布时间】:2017-04-13 22:36:57
【问题描述】:

当我使用 NPM 下载任何包时,它会挂在最后一个命令“loadRequestedDeps”上。我已将整个-verbose 输出添加到此问题的末尾以供参考。它会一直呆在那里,直到我取消命令,不会安装任何东西,我的 package.json 也不会更新。

可能是什么问题?我环顾四周,但还没有找到解决我的特定问题的方法。

这里有一些信息:

  • 操作系统是 Windows 10
  • 节点版本为6.9.1
  • NPM 版本为 3.10.8
  • 每当我运行 NPM 安装时,我的 CPU 都会达到 100%。这可能是问题本身吗?但是,我以前可以在这台计算机上使用 NPM 安装。

感谢任何可以提供帮助的人。详细输出如下。

npm info it worked if it ends with ok
npm info using npm@3.10.8
npm info using node@v6.9.1
npm info ok
npm info it worked if it ends with ok
npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
npm verb cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
npm verb cli   'install',
npm verb cli   'moment',
npm verb cli   '--save',
npm verb cli   '-verbose' ]
npm info using npm@3.10.8
npm info using node@v6.9.1
npm verb request uri https://registry.npmjs.org/moment
npm verb request no auth needed
npm info attempt registry request try #1 at 11:19:11 AM
npm verb request id 6aa9ece5a04fcd33
npm verb etag W/"583b0871-194b0"
npm verb lastModified Sun, 27 Nov 2016 16:23:13 GMT
npm http request GET https://registry.npmjs.org/moment
npm http 304 https://registry.npmjs.org/moment
npm verb headers { date: 'Tue, 29 Nov 2016 19:19:02 GMT',
npm verb headers   via: '1.1 varnish',
npm verb headers   'cache-control': 'max-age=300',
npm verb headers   etag: 'W/"583b0871-194b0"',
npm verb headers   age: '11',
npm verb headers   connection: 'keep-alive',
npm verb headers   'x-served-by': 'cache-sjc3136-SJC',
npm verb headers   'x-cache': 'HIT',
npm verb headers   'x-cache-hits': '1',
npm verb headers   'x-timer': 'S1480447142.653125,VS0,VE0',
npm verb headers   vary: 'Accept-Encoding' }
npm verb etag https://registry.npmjs.org/moment from cache
npm verb get saving moment to C:\Users\Zach\AppData\Roaming\npm-cache\registry.npmjs.org\moment\.cache.json
npm verb correctMkdir C:\Users\Zach\AppData\Roaming\npm-cache correctMkdir not in flight; initializing
npm verb cache add spec moment
npm verb addNamed "latest" is being treated as a dist-tag for moment
npm info addNameTag [ 'moment', 'latest' ]
npm verb addNameTag registry:https://registry.npmjs.org/moment not in flight; fetching
npm verb get https://registry.npmjs.org/moment not expired, no request
npm verb addNamed "2.17.0" is a plain semver version for moment
npm verb addRemoteTarball https://registry.npmjs.org/moment/-/moment-2.17.0.tgz not in flight; adding
npm verb addRemoteTarball [ 'https://registry.npmjs.org/moment/-/moment-2.17.0.tgz',
npm verb addRemoteTarball   'a4c292e02aac5ddefb29a6eed24f51938dd3b74f' ]
[    ..............] \ loadRequestedDeps: verb addRemoteTarball [ 'https://registry.npmjs.org/moment/-/moment-2.17.0.tgz',

【问题讨论】:

    标签: node.js npm packages npm-install package-managers


    【解决方案1】:

    有时当您尝试多次安装一个软件包时,您需要清除缓存:npm cache clear。但与 npm 相比,yarn 确实是一个更好的选择,它既快速又可靠。使用npm -i -g yarn 安装它并从您使用yarn install 的package.json 下载依赖项yarn add package_name

    【讨论】:

    • 我之前确实尝试过清除缓存,但没有成功。不过,我会发布有效的方法。谢谢!
    • 建议其他工具并不是一个有用的回应,因为这通常不是一种选择。
    【解决方案2】:

    所以,在尝试清除 npm 缓存后,更新我的 npm 和节点版本,重新安装 npm 和节点等......我发现将我的环境变量 TEMP 更改为 = C:\tmp 有效。我不确定为什么。任何信息都会很好。

    我从这个帖子中找到了答案:npm install hangs on windows with multiple temp directories set

    注意:我可以使用他使用的方法(在我的目录中使用set 命令,但我必须对每个新项目都这样做。通过SystemAdvanced System SettingsEnvironment Variables 更改变量已更改它是全球性的,所以现在我可以走了。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,在我找到这些解决方案之前,它让我发疯了大约一天。

      在我的C盘新建"tmp"文件夹,然后将我的SYSTEM环境变量中的TEMP变量改成C:\tmp。 我的“npm install”仍然无法正常工作。 (此操作基于 Zach Nagatani 的回答。)

      我还在 USER Environment 变量中定义了两个 TEMP 变量,我必须为我的 删除一个变量>“npm install” 开始工作。

      以上动作基于此帖:https://github.com/npm/npm/issues/7590

      当我找到它时,我很高兴。非常感谢大家。

      【讨论】:

        【解决方案4】:

        我尝试谷歌搜索对我没有任何效果,最后我通过设置环境变量找到了解决方法

        尝试使用https://github.com/npm/npm/issues/10462

        【讨论】:

        • 在 c 目录中创建一个临时文件夹(tmp) 在环境变量中添加一个条目,例如 key = TEMP 和 value = c://tmp
        【解决方案5】:

        终于解决了问题(想知道)

        将系统和用户 TEMP 变量都指向 C:\temp 并将目录设为 C:\temp。

        1.TEMP=C:\temp;

        2.在 C:\ 创建一个目录临时目录

        【讨论】:

          【解决方案6】:

          在 C: 驱动器中创建新文件夹 tmp 并转到命令提示符并键入:

          npm config set tmp C:/tmp

          【讨论】:

            【解决方案7】:

            npm cache verify 成功了!

            编辑

            npm 卡在loadAllDepsIntoIdealTree

            我无法弄清楚这个问题,所以它把我带到了这里。我看到了@franckstifler 关于npm cache clear 的回答并尝试了,但该命令已被弃用。

            shell 本身建议使用npm cache verify。我做到了,它奏效了!缓存中的垃圾数据被刷掉了,我在我的工作文件夹上重新运行 npm i --save-dev 并且它工作了。

            【讨论】:

            • npm 卡在 loadAllDepsIntoIdealTree 上。我无法弄清楚这个问题,所以它把我带到了这里。我在下面看到@franckstifler 的关于npm cache clear 的回答并尝试过,但不推荐使用这样的命令。 shell 建议使用npm cache verify。我这样做了,它奏效了。缓存中的垃圾数据被刷掉了,我在我的工作文件夹上重新运行npm i --save-dev,它就可以正常工作了。
            • 编辑您的帖子并用您在评论中写的任何内容详细说明您的答案。这将有助于其他用户解决这个问题。
            【解决方案8】:

            这是一个非常普遍的错误.. 您必须使用

            进行调试
            npm install -verbose
            

            也许 1) 锁定 package.json 2)您在专用网络中,由于某种原因无法访问外部世界 3)缓存不好(你可以尝试使用 npm clear cache )或( cache verify )甚至改变它的路径(npm config set tmp )

            【讨论】:

              猜你喜欢
              • 2013-05-28
              • 1970-01-01
              • 2018-02-28
              • 2019-02-21
              • 2019-10-21
              • 1970-01-01
              • 2015-05-13
              • 2015-05-03
              • 1970-01-01
              相关资源
              最近更新 更多