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.0および3.2.8
  • activerecord と actionpack の代わりに「activemodel」が必要

それぞれの後にバンドルしますが、どちらも役に立ちませんでした。

ルビーのバージョンは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 と互換性がないことである可能性があり、不明であり、解決の試みは成功していません。

私はモペットの宝石と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 に答える