Google Cloud Compute Engine VM中npm install执行停滞问题求助
在GCE虚拟机执行
npm i部署Medusa后端时停滞在reify:@swc/core-darwin-arm64请求的排查方案 在Google Cloud Compute Engine(GCE)虚拟机上部署Medusa后端时,执行
npm i --verbose命令出现无限期停滞,最终停留在以下日志输出:reify:@swc/core-darwin-arm64: http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk已尝试以下操作但未解决问题:
- 更换npm及Node.js版本
- 删除
node_modules文件夹后重新执行npm i- 清理npm缓存
- 禁用虚拟机IPv6
虚拟机拥有公网IP,可正常通过wget google.com验证网络连通性,且相同命令在本地Chromebook的Crostini环境中可正常运行。
可能的原因及解决办法
1. CPU架构与预编译包不匹配
@swc/core-darwin-arm64是针对macOS ARM64架构的预编译包,如果你的GCE虚拟机使用x86_64(AMD/Intel)架构,npm在拉取不兼容包时可能出现隐性停滞。
解决步骤:
- 执行命令确认虚拟机架构:
uname -m - 若输出为
x86_64,强制指定对应架构包后重新安装:npm_config_arch=x64 npm i
2. npm安全审计请求处理阻塞
日志显示请求已返回200,但后续处理可能因虚拟机资源不足(CPU/内存)或npm内部逻辑卡顿停滞。
解决步骤:
- 临时跳过安全审计加速安装:
npm i --no-audit - 若虚拟机内存不足,调整Node.js内存限制后重试:
node --max-old-space-size=4096 $(which npm) i --verbose
3. NPM Registry访问存在隐性限制
虽然基础网络连通正常,但npm的registry请求可能因GCE网络策略、地区中转问题出现阻塞。
解决步骤:
- 切换至国内镜像源尝试安装:
npm config set registry https://registry.npmmirror.com npm i --verbose - 检查GCE防火墙规则,确保出站443端口未被限制(npm registry使用HTTPS协议)。
4. @swc包版本兼容性问题
特定版本的@swc/core可能在GCE环境下存在安装bug,导致流程停滞。
解决步骤:
- 在项目
package.json中添加版本覆盖规则:"overrides": { "@swc/core": "1.3.100" } - 执行
npm i重新安装依赖。
内容的提问来源于stack exchange,提问作者faridghar
相关产品推荐
相关产品推荐

