4

尝试运行我的 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)

我的 Gemfile 有:

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.03.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 添加到 Gemfile。问题可能是它的版本与 ruby​​ 2 或 rails 4 不兼容,不确定并且尝试解决没有成功。

我尝试了轻便摩托车 gem 和bundled 但后来得到了cannot load such file -- mongoid

我尝试了 gem 'mongoid', github: 'mongoid/mongoid' 和bundled 但得到了与尝试轻便摩托车相同的错误。

4

1 回答 1

2

您的项目想要使用 Rails 3.x,但您的系统上安装了 Rails 4.x。

这很好,但你想执行为:

bundle exec rake spec

确保您激活项目指定的 gem 版本,而不是系统上安装的最新版本。

它可能会告诉您需要先运行bundle install才能安装项目指定的所有 gem 版本。

于 2014-09-24T20:24:20.880 回答