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

老旧应用部署时Yarn安装依赖停滞问题求助

解决Yarn拉取Bitbucket私有包时SSH连接被拒的问题

问题核心

你手动用HTTPS能克隆私有仓库,但Yarn自动切换成SSH协议克隆,导致目标主机22端口连接被拒——这是旧版Yarn(0.22.0)的常见协议转换行为,加上虚拟机网络环境对SSH出站的限制导致的。

解决方案

  • 强制Git用HTTPS替代Bitbucket的SSH协议
    配置Git全局规则,让所有指向bitbucket.inficon.com的SSH请求自动转为HTTPS,这样Yarn克隆时会沿用你手动成功的协议:

    git config --global url."https://bitbucket.inficon.com/".insteadOf "ssh://bitbucket.inficon.com/"
    

    如果只想针对当前项目生效,进入项目目录执行:

    git config url."https://bitbucket.inficon.com/".insteadOf "ssh://bitbucket.inficon.com/"
    
  • 更新Yarn到稳定版本
    你使用的Yarn 0.22.0是多年前的旧版本,存在不少协议处理的bug。升级到最新稳定版能从根源减少这类问题:

    npm install -g yarn@latest
    
  • 锁定package.json中的HTTPS依赖格式
    确保你的package.json里的私有包依赖明确使用HTTPS格式,避免Yarn自动转换:

    "dependencies": {
      "common-utils": "git+https://bitbucket.inficon.com/scm/plat/common-utils.git"
    }
    
  • 排查虚拟机网络限制(辅助)
    确认Vagrant虚拟机的网络模式(如NAT/桥接)允许出站HTTPS(443端口)请求;同时检查虚拟机内的防火墙规则,确保没有意外阻止相关网络请求(不过你手动HTTPS克隆成功,这条优先级较低)。

内容的提问来源于stack exchange,提问作者Jose Raul Perera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:07:36