"找不到activesupport"安装3个版本时

时间:2015-05-20 17:49:57

标签: ruby

我只是尝试使用简单的career_builder gem,只需通过运行简单的脚本来导入它:

require 'career_builder'

puts 'Hello world!'

然后收到以下错误:/Library/Ruby/Site/2.0.0/rubygems/dependency.rb:315:in 'to_specs': Could not find 'activesupport' (~> 2.3.5) - did find: [activesupport-4.2.1,activesupport-3.1.12,activesupport-3.0.3] (Gem::LoadError)

我使用gem install career_builder安装了gem并运行bundle install,甚至将activesupport更新为最新版本,但出于某种原因,该程序无法找到更新的版本activesupport。 gem是否需要版本2.3.5

2 个答案:

答案 0 :(得分:1)

http://guides.rubygems.org/patterns/

~>或' twiddle-waka'是一个ruby gems快捷方式,用于指定您可以使用的最早版本的gem,而不会让您进入下一个主要版本。

您的宝石有点非正统,并且还指定了补丁级别。 因此,您正在使用的gem_specification(activesupport' (~> 2.3.5))实际上意味着2.4.0之前发布的最后一个补丁的最小版本2.3.5。

您安装的activesupport版本全部用于后续主要版本,但无法正常工作。在2.3.5和2.4.0之间安装一些东西你应该很高兴。

答案 1 :(得分:1)

是。它确实需要Active Support版本> = 2.3.5和< 2.4.0。您的所有Active Support版本都是> 2.4.0。

~>被称为spermy运算符。见Meaning of tilde-greater-than (~>) in version requirement?

宝石尚未在4年内更新,因此它使用Rails 2。

FWIW,我认为你没有太多运气,所以你可能想找到一个与Rails 4一起使用的类似的宝石,并且在过去的几个月内已经更新。