NPM安装在loadRequestedDeps上挂起

时间:2016-11-29 19:29:15

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

当我使用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',

8 个答案:

答案 0 :(得分:4)

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

在我的C盘中创建新的“tmp”文件夹,然后将 SYSTEM环境变量中的 TEMP变量更改为<强> C:\ TMP 即可。 我的“npm install”仍然无法正常工作。 (这一行动是基于Zach Nagatani的回答。)

我的 USER环境变量中也定义了两个TEMP变量,我必须为我的变量>“npm install”开始工作。

  

以上操作基于以下帖子:https://github.com/npm/npm/issues/7590

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

答案 1 :(得分:2)

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

npm config set tmp C:/ tmp

答案 2 :(得分:1)

这是非常一般的错误.. 你必须用

进行调试
npm install -verbose
也许吧 1)锁定package.json 2)您在私人网络中,由于某种原因无法访问外部世界 3)缓存不好(你可以尝试使用npm clear cache)或(缓存验证)甚至更改其路径(npm config set tmp)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

注意:我可以使用他使用的方法(在我的目录中使用set命令,但我必须对每个新项目执行此操作。通过System,{{1}更改变量},Advanced System Settings全局改变了,所以现在我很乐意去。

答案 5 :(得分:0)

我尝试使用Google搜索没有任何效果,最后我通过设置环境变量找到了修复

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

答案 6 :(得分:0)

最后解决了问题(想知道)

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

  

<强> 1.TEMP = C:\ temp中;

     

2.在C:\

处创建目录临时文件

答案 7 :(得分:0)

npm cache verify为我做了诀窍!