title: Can't seem to get bundler working with rails 2.3
body: <p>I am on rails 2.3.5 and ruby 1.8.7</p>
  
  <p>I keep trying to run the bundler command and it doesn't seem to work anymore. </p>
  
  <p>I keep getting </p>
  
  <pre><code>undefined method `[]' for nil:NilClass (NoMethodError)
  </code></pre>
  
  <p>Here is the trace when running bundler install</p>
  
  <pre><code>  /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/settings.rb:11:in `[]': undefined method `[]' for nil:NilClass (NoMethodError)
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/cli.rb:215:in `install'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/cli.rb:325:in `package'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/vendor/thor/task.rb:22:in `send'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/vendor/thor/task.rb:22:in `run'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/vendor/thor.rb:263:in `dispatch'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/vendor/thor/base.rb:386:in `start'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/bin/bundle:13
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/bin/bundle:19:in `load'
      from /Users/eric/.rvm/gems/ruby-1.8.7-p352/bin/bundle:19
  </code></pre>
  
  <p>Here is what happens when I try to start the server.</p>
  
  <pre><code>    /Users/sgedeveloper/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler/settings.rb:11:in `[]': undefined method `[]' for nil:NilClass (NoMethodError)
          from /Users/sgedeveloper/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler.rb:261:in `configure_gem_home_and_path'
          from /Users/sgedeveloper/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler.rb:82:in `configure'
          from /Users/sgedeveloper/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler.rb:136:in `definition'
          from /Users/sgedeveloper/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler.rb:126:in `load'
          from /Users/sgedeveloper/.rvm/gems/ruby-1.8.7-p352/gems/bundler-1.0.21/lib/bundler.rb:110:in `setup'
          from ./script/../config/../config/preinitializer.rb:23
          from ./script/../config/boot.rb:29:in `load'
          from ./script/../config/boot.rb:29:in `preinitialize'
          from ./script/../config/boot.rb:11:in `boot!'
          from ./script/../config/boot.rb:118
          from ./script/server:2:in `require'
          from ./script/server:2
  </code></pre>
  
  <p>Here is Preinitialize.rb</p>
  
  <pre><code>    begin
        require "rubygems"
        require "bundler"
      rescue LoadError
        raise "Could not load the bundler gem. Install it with `gem install bundler`."
      end
  
      begin
        gem 'i18n', "~&gt; 0.4.0"
      rescue LoadError
        raise 'Could not find i18n Gem'
      end
  
  
      if Gem::Version.new(Bundler::VERSION) &lt;= Gem::Version.new("0.9.24")
        raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
         "Run `gem install bundler` to upgrade."
      end
  
      begin
        # Set up load paths for all bundled gems
        ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
        Bundler.setup
      rescue Bundler::GemNotFound
        raise RuntimeError, "Bundler couldn't find some gems." +
          "Did you run `bundle install`?"
      end
  </code></pre>
  
  <p>Here is boot.rb </p>
  
  <pre><code>  # Don't change this file!
    # Configure your app in config/environment.rb and config/environments/*.rb
    require 'thread'
  
    RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
  
    module Rails
      class &lt;&lt; self
        def boot!
          unless booted?
            preinitialize
            pick_boot.run
          end
        end
  
        def booted?
          defined? Rails::Initializer
        end
  
        def pick_boot
          (vendor_rails? ? VendorBoot : GemBoot).new
        end
  
        def vendor_rails?
          File.exist?("#{RAILS_ROOT}/vendor/rails")
        end
  
        def preinitialize
          load(preinitializer_path) if File.exist?(preinitializer_path)
        end
  
        def preinitializer_path
          "#{RAILS_ROOT}/config/preinitializer.rb"
        end
      end
  
      class Boot
        def run
          load_initializer
  
          Rails::Initializer.class_eval do
            def load_gems
              @bundler_loaded ||= Bundler.require :default, Rails.env
            end
          end
  
          Rails::Initializer.run(:set_load_path)
        end
      end
  
      class VendorBoot &lt; Boot
        def load_initializer
          require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
          Rails::Initializer.run(:install_gem_spec_stubs)
          Rails::GemDependency.add_frozen_gem_path
        end
      end
  
      class GemBoot &lt; Boot
        def load_initializer
          self.class.load_rubygems
          load_rails_gem
          require 'initializer'
        end
  
        def load_rails_gem
          if version = self.class.gem_version
            gem 'rails', version
          else
            gem 'rails'
          end
        rescue Gem::LoadError =&gt; load_error
          $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
          exit 1
        end
  
        class &lt;&lt; self
          def rubygems_version
            Gem::RubyGemsVersion rescue nil
          end
  
          def gem_version
            if defined? RAILS_GEM_VERSION
              RAILS_GEM_VERSION
            elsif ENV.include?('RAILS_GEM_VERSION')
              ENV['RAILS_GEM_VERSION']
            else
              parse_gem_version(read_environment_rb)
            end
          end
  
          def load_rubygems
            require 'rubygems'
            min_version = '1.3.1'
            unless rubygems_version &gt;= min_version
              $stderr.puts %Q(Rails requires RubyGems &gt;= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
              exit 1
            end
  
          rescue LoadError
            $stderr.puts %Q(Rails requires RubyGems &gt;= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
            exit 1
          end
  
          def parse_gem_version(text)
            $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~&lt;&gt;=]*\s*[\d.]+)["']/
          end
  
          private
            def read_environment_rb
              File.read("#{RAILS_ROOT}/config/environment.rb")
            end
        end
      end
    end
  
    # All that for this:
    Rails.boot!
  </code></pre>