当我使用NPM下载任何软件包时,它会挂起最后一个命令“loadRequestedDeps”。我已将整个-verbose
输出添加到此问题的末尾以供参考。它会一直坐在那里直到我取消命令,并且不会安装任何内容,我的package.json也不会更新。
问题是什么?我环顾四周,但还没有找到解决我特定问题的方法。
以下是一些信息:
感谢任何可以提供帮助的人。详细输出如下。
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',
答案 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搜索没有任何效果,最后我通过设置环境变量找到了修复
答案 6 :(得分:0)
最后解决了问题(想知道)
将系统和用户TEMP变量指向C:\ temp,并将目录设为C:\ temp。
<强> 1.TEMP = C:\ temp中; 强>
2.在C:\
处创建目录临时文件
答案 7 :(得分:0)
npm cache verify
为我做了诀窍!