我目前正在管理 red hat 5 中 ruby 1.9.3 的安装。
我发现,在特定的 gem 安装过程中,ruby 会尝试下载并安装特定所需 gem 的最新版本。
我试图使用 --conservative
标志来阻止 gem 的更新,但是,这似乎不起作用。
有问题的 gem 需要特定版本的 launchy
,而后者又需要特定版本的 addressable
。
已安装的这些 gem 的版本满足我尝试安装的 gem 的要求。但是,gem 命令会尝试下载并安装最新版本的 addressable
。
这是个问题,因为最新的可寻址需要 public_suffix
,它只安装在 ruby 2.x 和更高版本中。
我尝试安装的 gem 是自定义 gem,因此我修改了 gemspec,发现删除 launchy
要求可以解决问题。但是,launchy
是必需的 gem,因此该要求需要保留在依赖项列表中。
有没有人有过处理这个特定版本的 ruby 和 gem 的经验并发现依赖性问题?
我尝试进入并修改已安装的 gems 目录中的 launchy
和 addressable
的 gemspec,但发现问题在于尝试更新的 gem install 命令/install the latest gems 尽管给了它标志告诉它否则。
ruby 1.9.3 gem 1.8.23
最佳答案
根据上述响应进行一些额外的研究后,确定 Hoe 的过时版本导致生成的 gem 尝试安装最新的依赖项。在离开 Hoe 管理依赖项和版本后,我的问题已经解决。
一些依赖管理类的行为似乎完全不同,所以这可能是第一个要看的地方。
关于rubygems 在安装时自动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41290933/