Подтвердить что ты не робот

Gem.source_index устарел, используйте Спецификацию. Должен ли я повторно установить Gem или Rails?

Я изучаю RoR на Ubuntu 11. Получил следующее сообщение, когда пытался создать приложение. Я установил что-то неправильно?

$ 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.
4b9b3361

Ответ 2

Попробуйте следующее:

sudo gem update bundler

Это обновит связку до последней версии (в настоящее время 1.0.15). Это не приведет к возникновению предупреждения или, по крайней мере, в моем случае это послужило причиной предупреждения.

Ответ 3

Лучший способ решить эту проблему:

$ gem pristine --all --no-extensions

Это приведет к восстановлению всех драгоценных камней (за исключением тех, у кого есть собственные расширения), и обновит их gemspecs. Если у вас нет камней с родными расширениями или вы не использовали какие-либо пользовательские флаги компиляции на этих драгоценных камнях, вы также можете опустить флаг --no-extensions. В противном случае вам придется строить их отдельно.

Ответ 4

Я попробовал "sudo gem update". После этого я не вижу сообщение "Gem.source_index устарело, используйте спецификацию...". Ура!