NameError: uninitialized constant Gem::SourceIndex

2019-02-08 03:07发布

问题:

This error appears for a new rails app, with nothing modified, when visiting the homepage (after successfully running bundle install).

Here are the version numbers:

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

Calling which ruby returns /Users/J/.rvm/rubies/ruby-1.9.3-p392/bin/ruby, which seems fishy, right?

回答1:

You need to update Bundler: gem update bundler

RubyGems release 2.0 seems to be the trigger for the error:

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.

Here are the issue details.



回答2:

Run:

gem update --system 1.8.24

Sounds like there's something buggy with latest.



回答3:

Have you tried updating your RubyGems?

gem update --system


回答4:

gem update bundle && gem update --system


回答5:

For me it was all of the above + using the new one on my nginx config.