You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:27:10