3

いくつかの問題を解決するために Rails リポジトリのクローンを作成しましたが、もちろん、 Ruby on Railsガイドへの貢献の難しい方法に従うことにしました。すべてうまくいき、レポを複製し、アップストリームの追跡を開始し、バンドルされた gem をインストールしてテストを実行しました。すぐに私はこれを手に入れました:

$ bundle install
Updating git://github.com/rails/arel.git
Updating git://github.com/brynary/rack-test.git
Updating git://github.com/rails/jquery-rails.git
Updating git://github.com/rails/coffee-rails.git
Updating git://github.com/wycats/thor.git
Updating git://github.com/rails/activerecord-deprecated_finders.git
Updating git://github.com/rails/sprockets-rails.git
Updating git://github.com/voloko/sdoc.git
Fetching gem metadata from https://rubygems.org/........
Fetching gem metadata from https://rubygems.org/..
Could not find gem 'activerecord-deprecated_finders (= 0.0.1) ruby', which is required  by gem 'rails (>= 0) ruby', in any of the sources.

Google を少し調べたところ、gem activerecord-deprecated_findersが Rubygems でまだリリースされていないようで、最後のエラーが説明できることがわかりました。Yehuda Katzは、この種の依存関係を Gemfile で宣言することができ、Gemspec 定義をオーバーライドすることを提案しています。これは、Rails を開発する善良な人々が実際に行ったことです。

# rails/Gemfile
...
gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders', branch: 'master'
...

Yehuda の投稿に対するコメント投稿者の 1 人の提案を試してみましたが、うまくいきませんでした。

# rails/Gemfile
...
@dependencies.delete_if{ |d| d.name == 'activerecord-deprecated_finders'  }
...

bundle installだから、なぜうまくいかなかったのか、私は少し途方に暮れています。その宝石への参照を見つけてactiverecord/activerecord.gemspecコメントアウトすると問題は解決しましたが、それは受け入れられる解決策とは思えません。私がどこで間違っていたのか誰か知っていますか?Ruby 1.9.3p286 と Bundler 1.2.3 を使用しています。

PS : 新しい Rails 4.0.0.beta アプリケーションを生成しているときに、この宝石に関する多くの情報を見ましたが、これはここで達成しようとしているものではありません。

ありがとう!

4

0 に答える 0