我有一台使用KVM运行某些虚拟机的Linux服务器。主机是Debian派生,内核为2.6.32-32(-pve)。
在我运行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压缩文件检入来解决了这个问题答案 0 :(得分:3)
我在基于Ubuntu的Jenkins奴隶上遇到了同样的问题,它通过升级npm
解决了。
npm
安装的默认apt-get
现在有版本1.3.10
,这是非常陈旧的(由npm --version
显示)。升级它至少有两种方法:
sudo npm install -g npm
命令。如果要安装特定版本,可以在命令末尾运行追加它:sudo npm install -g npm@2.1.3
。sudo apt-get update
。答案 1 :(得分:1)
我在Windows
遇到了同样的问题。我删除了npm-cache
文件夹并重新安装了npm
。之后一切都开始正常。
可以在
npm-cache
文件夹
<your-drive>\Users\<your-name>\AppData\Roaming\npm-cache
请务必启用“查看隐藏文件”,因为默认情况下AppData文件夹是隐藏的
您可以使用命令
重新安装npmnpm i npm -g
答案 2 :(得分:0)
我做了同样的事情,将我的网络从WiFi切换到3G并且运行良好。
答案 3 :(得分:0)
我遇到了同样的问题,这是Github上的问题: https://github.com/npm/npm/issues/7862
有一些有用的提示似乎可以帮助一些人。
对于我这样做$ npm install -g node-gyp(如这里建议:http://gangmax.me/blog/2013/05/13/resolve-npm-update-node-gyp-hung-problem/)修复了问题。
答案 4 :(得分:0)
我遇到了同样的问题,就跑了
npm cache clean
它有效!
答案 5 :(得分:0)
在Windows中也有同样的问题。解决方法是在安装节点和npm之后重新启动,然后以管理员身份运行命令提示符。
答案 6 :(得分:0)
您可以临时更改: npm config设置前缀C:\ Users [用户名] \ AppData \ Roaming \ npm \ node_modules2
更改环境变量集C:\ Users [用户名] \ AppData \ Roaming \ npm \ node_modules2中的路径
运行您的命令以安装软件包。
打开文件浏览器,复制链接C:\ Users [用户名] \ AppData \ Roaming \ npm \ node_modules
ok文件yourpackage.CMD创建了另一个文件夹在node_modules中创建了“ node_modules2”并包含您的包文件夹。
将打包文件CMD复制到父文件夹“ npm”
将软件包文件夹复制到父文件夹“ node_modules”
现在运行npm config设置前缀C:\ Users [用户名] \ AppData \ Roaming \ npm
更改环境变量集C中的路径:\ Users [用户名] \ AppData \ Roaming \ npm
现在程序包可与命令行正常使用
答案 7 :(得分:0)
在Windows上,请确保您使用的是本地CMD(而不是VSCODE或任何IDE)。另外,尝试增加节点的最大内存限制:
set NODE_OPTIONS=--max_old_space_size=8096