【发布时间】:2015-05-13 05:17:48
【问题描述】:
我有一个使用 KVM 运行一些虚拟机的 Linux 服务器。主机是内核 2.6.32-32(-pve) 的 Debian 衍生版本。
在我运行 npm install 的大约 75% 的时间里,它在安装模块时挂起。我在愚蠢的调试级别运行它,它总是挂在行
npm info postinstall [module name](旧的 npm 版本)
或
npm verb unlock done using [...](较新的 npm 版本)
永远。
它发生在主机上的每个项目和虚拟化系统上,适用于我测试过的每个节点和每个 npm 版本(很多,包括最新的 (2.7.x atm))。
它也不是确定性的。有时它有效,有时无效,而且大多数时候它挂在不同的模块上。
在我的开发机器(在同一个网络中,运行 OS X 10.10)上运行良好。
我不支持任何类型的代理。
这里可能有什么问题?
编辑:目前我通过使用https://github.com/JamieMason/shrinkpack将所有依赖项签入为gzip文件来解决这个问题
【问题讨论】:
-
你知道它挂在什么特定包的安装后吗?还有什么是节点版本? ~/.npmrc 的输出是什么?您是否尝试过在运行 npm install 之前使用
npm cache clean删除锁定文件? -
它所挂的包不同。我尝试了很多 node 和 npm 版本,以及做一个
npm cache clean。我要检查 ~/.npmrc 输出。 -
只想补充一点,总的来说,我发现连接越稳定,
npm install越稳定,不会卡住,我尝试了多个版本的npm,没有任何帮助使我的 Internet/Intranet 连接更稳定(最好的有线)。
标签: linux node.js npm virtualization