2013-02-25 2 views
22

Эта ошибка появляется для нового приложения rails без изменения при посещении домашней страницы (после успешного запуска bundle install).NameError: неинициализированная константа Gem :: SourceIndex

Вот номера версии:

ruby: 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.2.1]

rails: 3.2.12

rvm: 1.18.14

gem: 2.0.0

bundler: 1.3.0.pre.8

Вызов which ruby возвращает /Users/J/.rvm/rubies/ruby-1.9.3-p392/bin/ruby, что кажется подозрительным, верно?

+0

Получил ту же ошибку после обновления с Ruby 1.9.3-p385 до 1.9.3-p392. Может быть, это совпадение с некоторыми другими изменениями в моем приложении? –

+3

[This] (http://stackoverflow.com/questions/15079182/cant-run-rails-server-after-accidentally-running-gem-update-system/15090490#15090490) кажется связанным –

ответ

1

Вы пробовали обновить свои RubyGems?

gem update --system 
+2

та же ошибка, и да, это говорит : Последняя версия, установленная в настоящий момент. Aborting. По-прежнему возникают ошибки. – Codejoy

13

Пробег:

gem update --system 1.8.24 

Похоже, что-то глючит с последними.

+0

Коллега обновился до последних рубигемов и получил ту же ошибку, что и OP. Я обновился до последней версии, чтобы убедиться, что у меня такая же ошибка. Я сделал. Я использовал вышеупомянутый ответ для возврата (до 1.8.25), и ошибка была решена. – plasticide

+0

Не работал с использованием последнего (2013-07-11) Ruby. – aimbire

29

Вам необходимо обновить Bundler: gem update bundler

RubyGems версии 2.0 seems to be the trigger для ошибки:

RubyGems 2.0 includes several new features and many breaking changes. Some of these changes will cause existing software to break. . . . If you are using bundler be sure to install a 1.3.0.prerelease version or newer. Older versions of bundler will not work with RubyGems 2.0.

Вот issue details.

+2

Вы должны скопировать фактический текст ответа здесь, чтобы ваш ответ не стал бесполезным из-за неработающей ссылки в будущем. –

+1

Спасибо. Обновлен ответ. – Dogweather

0
gem update bundle && gem update --system 
+0

Можете ли вы рассказать о том, как это исправит проблему? –

+0

в корневом каталоге проекта, используя команды, не забудьте использовать «bundle install» – littleyang

0

Для меня это было все вышеперечисленное + использование нового в моей конфигурации nginx.

Смежные вопросы