0

我刚开始使用 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.

我不确定消息来自哪里,或者我会改变什么来修复它并删除警告?

4

1 回答 1

1

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

source "http://rubygems.org"

然后在 Gemfile 的开头明确指定您希望使用的最新 gem 版本:

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 版本以避免以后出现依赖性问题是一个很好的做法。

于 2012-10-23T21:12:14.417 回答