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.
これを試して:
Sudo gem update bundler
これにより、バンドラーが最新バージョン(現在は1.0.15)に更新されます。これは警告を生成しません。少なくとも私の場合、これが警告の原因でした。
これを解決する最良の方法は次のとおりです。
$ gem pristine --all --no-extensions
これにより、すべてのgem(ネイティブ拡張を持つジェムを除く)が再構築され、gemspecsが更新されます。ネイティブ拡張を持つgemがない場合、またはそれらのgemでカスタムコンパイルフラグを使用しなかった場合は、--no-extensions
フラグを省略できます。それ以外の場合は、個別にビルドする必要があります。
「Sudo gem update」を試しました。その後、「Gem.source_indexは廃止されました。仕様を使用してください...」というメッセージは表示されなくなりました。わーい!