我目前正在红帽5中管理ruby 1.9.3的安装。
我发现,在特定的gem安装过程中,ruby正在尝试下载并安装特定所需gem的最新版本。
我试图阻止使用--conservative
标志更新宝石,但是,这似乎不起作用。
有问题的宝石需要launchy
的特定版本,而这需要特定版本的addressable
。
已安装的这些gem的版本符合我尝试安装的gem的要求。但是,gem命令会尝试下载并安装最新版本的addressable
。
这是一个问题,因为最新的可寻址需要public_suffix
,它只安装在ruby 2.x及更高版本中。
我尝试安装的gem是一个自定义gem,因此我修改了gemspec,发现删除launchy
要求修复了问题。但是,launchy
是必需的gem,因此需求需要保留在依赖项列表中。
有没有人有过处理这个特定版本的ruby和gem的经验,并发现了依赖关系的问题?
我已尝试进入并修改已安装的宝石目录中launchy
和addressable
的gemspec,但发现问题是gem install命令尝试更新/安装最新的宝石尽管给它标志告诉它。
红宝石1.9.3 宝石1.8.23
答案 0 :(得分:1)
在上述响应提示的一些额外研究之后,确定过时版本的Hoe导致生成的gem尝试安装最新的依赖项。在离开Hoe以管理依赖关系和版本之后,我的问题已经解决了。
某些依赖关系管理类的行为似乎完全不同,所以这可能是第一个看的地方。
答案 1 :(得分:0)
使用 -v 标志指定要安装的确切版本:
gem install your-custom-gem -v 1.1