Remix集成Ruby的Shopify应用开发时bundle install超时错误
解决Cloudflare Tunnel下
shopify app dev的bundle install超时问题 问题分析
你遇到的是本地开发环境中,Cloudflare Tunnel的代理逻辑与RubyGems的HTTPS连接产生冲突,导致rubygems.org的请求超时;而部署环境无此问题,说明冲突仅存在于本地Tunnel的网络路由规则中。
修复方案
1. 强制RubyGems使用系统原生DNS解析
在启动开发命令前设置环境变量,绕过Tunnel可能干扰的DNS解析流程:
RESOLV_USE_GETADDRINFO=true shopify app dev
也可以将变量加入终端配置文件(如~/.zshrc或~/.bashrc),避免每次手动输入。
2. 配置RubyGems跳过代理
编辑~/.gemrc文件,添加代理例外规则,让rubygems.org的请求不走Tunnel:
http_proxy: "" https_proxy: "" no_proxy: rubygems.org
保存后重启shopify app dev进程。
3. 调整Cloudflare Tunnel路由规则
在Cloudflare Dashboard的Tunnel配置中,添加rubygems.org/*到排除路由列表,让该域名的请求直接走本地网络,不经过Tunnel代理。
4. 切换RubyGems镜像源
临时更换为更稳定的镜像源,规避官方源的连接超时:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
后续需要切回官方源时执行:
gem sources --add https://rubygems.org/ --remove https://gems.ruby-china.com/
5. 检查本地安全工具
确认本地防火墙、杀毒软件没有拦截rubygems.org的443端口请求,部分安全工具会在Tunnel运行时误判HTTPS流量。
验证方法
修改配置后重启shopify app dev,持续观察10分钟以上,确认是否再出现bundle install超时问题。
内容的提问来源于stack exchange,提问作者Leaderfrank
相关产品推荐
相关产品推荐

