2016-12-22 80 views
0

我目前管理的Ruby 1.9.3的安装红帽5RubyGems的自动更新安装

我发现,一个特定的宝石在安装过程中,红宝石尝试下载并安装最新版本的一个特别需要的宝石。

我试图阻止使用--conservative标志更新宝石,但是,这似乎不起作用。

有问题的宝石需要launchy的特定版本,而这又需要特定版本的addressable

已安装的这些gem版本符合我尝试安装的gem的要求。但是,gem命令尝试下载并安装最新版本的addressable

这是一个问题,因为最新的可寻址需要public_suffix,它只安装在Ruby 2.x或更高版本中。

我试图安装的宝石是一个自定义宝石,因此我修改了gemspec,发现删除launchy需求解决了这个问题。但是,launchy是必需的gem,所以需求需要留在依赖列表中。

有没有人有处理这个特定版本的红宝石和宝石的经验,并发现依赖关系的问题?

我试过去了,修改gemspec为launchyaddressable在已安装的gem dirs中,但发现问题在于gem install命令尝试更新/安装最新的gem,尽管给它标志告诉它。

红宝石1.9.3 宝石23年8月1日

+0

这是Gemfile.lock的用途。这听起来像你没有检查到你的回购。 – infused

回答

0

使用-v标志来指定确切的版本进行安装:

gem install your-custom-gem -v 1.1 
0

后通过上述反应促使一些额外的研究,确定过时的Hoe版本导致生成的gem尝试安装最新的依赖关系。离开Hoe去管理依赖和版本后,我的问题已经解决了。

一些依赖关系管理类似乎表现完全不同,所以这可能是第一个看的地方。