web-dev-qa-db-ja.com

Gem.source_indexは非推奨です。仕様を使用してください。 GemまたはRailsを再インストールする必要がありますか?

Ubuntu 11でRoRを学習しています。アプリを生成しようとしたときに、次のメッセージが表示されました。何か間違ってインストールしましたか?

$ Rails generate controller Pages home contact
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/Ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/Ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /usr/lib/Ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/source.rb:162.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/Ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/shared_helpers.rb:84.
43
Kevin H

これは私のために働いた:rubygemsのダウングレード:

gem update --system 1.6.2

Gem.source_indexは非推奨です。仕様#34を使用してください

52
dsaronin

これを試して:

Sudo gem update bundler

これにより、バンドラーが最新バージョン(現在は1.0.15)に更新されます。これは警告を生成しません。少なくとも私の場合、これが警告の原因でした。

28
dexter

これを解決する最良の方法は次のとおりです。

$ gem pristine --all --no-extensions

これにより、すべてのgem(ネイティブ拡張を持つジェムを除く)が再構築され、gemspecsが更新されます。ネイティブ拡張を持つgemがない場合、またはそれらのgemでカスタムコンパイルフラグを使用しなかった場合は、--no-extensionsフラグを省略できます。それ以外の場合は、個別にビルドする必要があります。

14
Koraktor

「Sudo gem update」を試しました。その後、「Gem.source_indexは廃止されました。仕様を使用してください...」というメッセージは表示されなくなりました。わーい!

1
Kevin H