rails - jasmine - “注意:Gem.available?已弃用,请使用Specification :: find_by_name。”

时间:2012-10-23 20:34:36

标签: ruby-on-rails ruby jasmine

我刚刚开始使用Jasmine。

安装完成后,我们现在可以在我们的测试套件中找到它:

NOTE: Gem.available? is deprecated, use Specification::find_by_name.  
It will be removed on or after 2011-11-01.  
Gem.available? called from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@dmstaffing/
gems/jasmine-1.0.2.1/lib/jasmine/base.rb:64.

我不确定邮件的来源或我要更改的内容以及删除警告?

1 个答案:

答案 0 :(得分:1)

您似乎正在使用旧版本的Jasmine gem,它正在调用现已弃用的.available?方法。 Jasmine 1.2.1是目前最稳定的宝石版本。您似乎还没有使用Bundler,因此请确保使用命令rvm 1.9.3-p194@dmstaffing切换到当前用于项目的gemset(看起来像是dmstaffing),然后运行gem install jasmine -v '1.2.1'。我建议使用Bundler而不是gemsets,因为我发现它更有动态,更容易进行更改。如果您想使用bundler来管理依赖项,请确保已安装它,然后在项目目录中创建Gemfile。如果您想从rubygems.org获取宝石,请确保您拥有:

source "http://rubygems.org"

在你的Gemfile的头部然后明确指定你想要使用的最新的jasmine宝石版本:

gem "jasmine", "~> 1.2.1"

或从Jasmine源代码中获取当前稳定的gem:

gem "jasmine", :git => "git://github.com/pivotal/jasmine.git", :branch => "1.2.rc1"

或者如果你感到勇敢,你总是可以抓住开发部门:

gem "jasmine", :git => "git://github.com/pivotal/jasmine.git", :branch => "master"

然后运行bundle install。当前版本的Jasmine不再具有导致问题的代码,因此不再引发警告。总是指定您的gem版本以避免以后出现依赖性问题是一种很好的做法。