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

Ruby 2.1.5中gem install指定-s源无效,如何替换安装源?

问题分析与解决

-s参数无效的原因

Ruby 2.1.5对应的RubyGems版本(通常为2.2.x系列)对-s/--source参数的要求是指定完整的gem仓库根地址,而非直接指向依赖查询的API端点。你传入的https://rubygems.org/api/v1/dependencies是具体的API路径,不符合旧版RubyGems的源格式要求。旧版RubyGems会自动将这种非标准源地址转换为它默认的API域名格式(即https://api.rubygems.org/api/v1/dependencies),从而触发404错误。

替代解决方案

1. 修改全局gem源(推荐)

先替换默认源为正确的根地址,再执行安装:

# 移除旧的api源(如果存在)
gem sources --remove https://api.rubygems.org/
# 添加正确的根源
gem sources --add https://rubygems.org/
# 安装指定版本的bundler
gem install bundler -v '~>1.14' -V

此时旧版RubyGems会基于https://rubygems.org/自动构造正确的依赖API路径https://rubygems.org/api/v1/dependencies,而非错误的api.rubygems.org地址。

2. 临时指定根源地址(不修改全局设置)

直接通过-s参数传入gem仓库根地址,而非API路径:

gem install bundler -s https://rubygems.org/ -v '~>1.14' -V

3. 通过环境变量临时指定源

使用GEM_SOURCE环境变量覆盖默认源:

GEM_SOURCE=https://rubygems.org/ gem install bundler -v '~>1.14' -V

内容的提问来源于stack exchange,提问作者neilH

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:52:26