运行我的 rspec 测试(任何或全部)时收到此错误:
Unable to activate activemodel-3.2.15, because activesupport-4.0.1 conflicts
with activesupport (= 3.2.15), builder-3.1.4 conflicts with builder (~> 3.0.0)
我的宝石文件有:
source 'https://rubygems.org'
rails_version = '~> 4.0.0.rc2'
gem 'activerecord', rails_version
gem 'actionpack', rails_version
gem 'rspec', '~> 2.6.0'
gem 'mocha', '~> 0.9.8'
gem 'mongoid', '~> 2.0'
gem 'sqlite3', '~> 1.3.6'
group :mysql do
gem 'mysql', '~> 2.9'
gem 'mysql2', '~> 0.3.10'
end
gem 'pg', '~> 0.11', :group => :pg
group :development do
gem 'ruby-debug', :platforms => :mri_18
gem 'debugger', :platforms => :mri_19
end
不确定要更改/如何修复。
我试过了:
- 不同的导轨版本 -
4.0.0
和3.2.8
- 需要"ActiveModel"而不是ActiveRecord和ActionPack
并在每次捆绑之后,但都没有帮助。
红宝石版本1.9.3-p194
我尝试了 ruby 2.0,但这给出了有关wrong number of arguments (1 for 0)
的错误
我认为问题出在Mongoid上。
测试代码的开头如下所示:
before(:all) do
MongoidModel.delete_all
4.times { MongoidModel.create! }
end
let(:criteria) { MongoidModel.criteria }
describe "#page" do
it "should forward to the paginate method" do
expect(criteria(:paginate).with(:page => 2)).to returns("itself")
expect(criteria.page(2)).to eq "itself"
end
我已将Mongoid添加到宝石文件中。 问题可能是它的版本与 ruby 2 或 rails 4 不兼容,不确定并且尝试解决不成功。
我尝试了轻便摩托车宝石并bundle
d,但后来得到了cannot load such file -- mongoid
我尝试了宝石"mongoid",github:"mongoid/mongoid"并bundle
d,但遇到了与尝试轻便摩托车相同的错误。
您的项目想要使用 Rails 3.x,但您的系统上安装了 Rails 4.x。
这很好,但您希望执行为:
bundle exec rake spec
确保激活项目指定的 gem 版本,而不是系统上安装的最新版本。
它可能会告诉您,您需要先运行bundle install
才能安装项目指定的所有 gem 版本。