Gem.source_index устарел, используйте спецификацию.Стоит ли переустанавливать Gem или Rails? - PullRequest
43 голосов
/ 20 мая 2011

Я изучаю 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.

Ответы [ 5 ]

52 голосов
/ 24 сентября 2011

Это сработало для меня: downgrade rubygems:

gem update --system 1.6.2

нашел этот совет по адресу: Gem.source_index устарел, используйте спецификацию # 34

28 голосов
/ 28 июня 2011

Попробуйте это:

sudo gem update bundler

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

14 голосов
/ 20 мая 2011

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

$ gem pristine --all --no-extensions

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

1 голос
/ 21 мая 2011

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

0 голосов
/ 28 августа 2013

рельсы -v = 2.2.2

ruby ​​-v = 1.8.7

Эта ссылка мне помогает.

или просто сделай

gem update --system 1.6.2
...