当我使用NPM下载任何软件包时,它会挂起最后一个命令“loadRequestedDeps”。我已将我的整个-verbose
输出添加到此问题的末尾以供参考。它会一直坐在那里,直到我取消命令,没有任何东西将被安装,我的package.json将不会更新。
问题可能是什么?我环顾四周但没有找到如何解决我的特定问题。
这是一些信息:
感谢任何可以提供帮助的人。详细输出如下。
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
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 [email protected]
npm info using [email protected]
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',
我有同样的问题,在我找到这些解决方案之前,它让我疯狂了一天。
在我的C驱动器中创建一个新的“tmp”文件夹,然后将我的SYSTEM环境变量中的TEMP变量更改为C:\ tmp。我的“npm install”仍然无法正常工作。 (这一行动是基于Zach Nagatani的回答。)
我还在我的USER环境变量中定义了两个TEMP变量,我必须删除其中一个变量“npm install”才能开始工作。
上述行动是基于这篇文章:https://github.com/npm/npm/issues/7590
我找到它时很高兴。非常感谢大家。
在C:驱动器中创建新文件夹tmp,然后转到命令提示符并键入:
npm config set tmp C:/ tmp
这是非常一般的错误..你必须调试
npm install -verbose
它可能1)锁定package.json 2)你在私人网络,由于某种原因无法访问外部世界3)缓存不好(你可以尝试使用npm清除缓存)或(缓存验证)甚至改变其路径(npm config set tmp)
有时,当您多次尝试安装软件包时,需要清除缓存:npm cache clear
。但与npm相比,纱线是一个非常好的选择,它快速可靠。使用npm -i -g yarn
安装它,并从package.json下载依赖关系yarn add package_name
,使用yarn install
。
因此,在尝试清除npm缓存后,更新我的npm和节点版本,重新安装npm和节点等...我发现将环境变量TEMP
更改为= C:\tmp
工作。我不知道为什么。任何信息都会很好。
我找到了这个帖子的答案:npm install hangs on windows with multiple temp directories set
注意:我可以使用他使用的方法(在我的目录中使用set
命令,但我必须对每个新项目执行此操作。通过System
,Advanced System Settings
,Environment Variables
更改变量全局改变它,所以现在我很好走。
我试着谷歌搜索没有任何工作,最后我通过设置环境变量找到修复
最后解决了问题(想知道)
将系统和用户TEMP变量指向C:\ temp,并将目录设为C:\ temp。
1.TEMP = C:\ temp中;
2.在C:处创建目录临时文件
npm cache verify
为我做了诀窍!