2

Rails 3と必要なすべてのgemをインストールするだけですが、サーバーを起動しようとすると、ブートスクリプトの問題について表示されます。

[rap-kasta@acerAspire testR3]$ script/rails server  
/home/rap-kasta/tmp/testR3/config/boot.rb:7:in `rescue in <top (required)>': uninitialized constant Bundler (NameError)  
        from /home/rap-kasta/tmp/testR3/config/boot.rb:2:in `<top (required)>'  
        from script/rails:9:in `require'  
        from script/rails:9:in `<main>  

それで、Bundler を再インストールしようとしました。gem install bundler

システムには次の gem があります。

abstract (1.0.0)
actionmailer (3.0.0.beta, 2.3.5, 2.3.4)
actionpack (3.0.0.beta, 2.3.5, 2.3.4)
activemodel (3.0.0.beta)
activerecord (3.0.0.beta, 2.3.5, 2.3.4)
activeresource (3.0.0.beta, 2.3.5, 2.3.4)
activesupport (3.0.0.beta, 2.3.5, 2.3.4)
arel (0.2.1, 0.2.pre)
builder (2.1.2)
bundler (0.9.5)
erubis (2.6.5)
fxri (0.3.7)
fxruby (1.6.20)
i18n (0.3.3)
jemini (2010.1.24, 2010.1.5)
mail (2.1.2)
memcache-client (1.7.8)
mime-types (1.16)
mysql (2.8.1)
nifty-generators (0.3.2, 0.3.0)
rack (1.1.0, 1.0.1, 1.0.0)
rack-mount (0.5.1, 0.4.0)
rack-openid (0.2.3, 0.2.2)
rack-test (0.5.3)
rails (3.0.0.beta, 2.3.5, 2.3.4)
railties (3.0.0.beta)
rake (0.8.7)
rawr (1.3.8)
RedCloth (4.2.2)
ruby-mysql (3.0.2)
ruby-openid (2.1.7)
rubygems-update (1.3.5)
rubyzip (0.9.4, 0.9.1)
rubyzip2 (2.0.1)
sqlite3-ruby (1.2.5)
text-format (1.0.0)
text-hyphen (1.0.0)
thor (0.13.2, 0.13.1)
tzinfo (0.3.16)

また、同じエラーとrails console同様のエラーがありますbundle check

[rap-kasta@acerAspire testR3]$ bundle check
/usr/lib/ruby/gems/1.9.1/gems/bundler-0.9.5/bin/bundle:12:in `rescue in <top (required)>': uninitialized constant Bundler::BundlerError (NameError)
        from /usr/lib/ruby/gems/1.9.1/gems/bundler-0.9.5/bin/bundle:10:in `<top (required)>'
        from /usr/bin/bundle:19:in `load'
        from /usr/bin/bundle:19:in `<main>'
4

5 に答える 5

12

追加後に機能します:

gem install bundler

および追加後:

gem 'bundler'

config/boot.rb の 2 行目 (require 'rubygems' の直後)

于 2010-06-28T08:59:11.420 に答える
2

ruby と rake コマンドのパスを確認してください。

$ which ruby
/usr/bin/ruby
$ which rake
/usr/local/bin/rake

同じエラーが発生しました。私の場合、/usr/bin/ruby で Rails をインストールしましたが、rake は /usr/local/bin/ruby を使用します。これが、Bundler に関連するエラーが発生した理由です。

于 2010-10-30T00:06:54.257 に答える
1

それは Bundler (または Rails) のバグではなく、gems システムのバグ (?!) だと思います...だから..ファイル 'bundler.rb' と gem を持つ gem 'rawr' もあります。システムは「bundler/../bundler.rb」の代わりにロードします。

rawr を削除しましたが、今は jemini を使用できません... しかし、私の問題は解決しました。

于 2010-02-21T08:18:42.700 に答える
0

Macで問題が発生しました。いくつかのgem(バンドラーを含む)が「/opt/local/lib/ruby/gems/1.8」にインストールされていたためです。これはデフォルトでRubyGemsによってirbにロードされますが、rakeにはロードされません。

これが私がそれを修正した方法です、それはおそらく完璧ではありませんが、少なくともそれは機能します:

  1. irbにアクセスして実行することにより、必要なパスを見つけます

    require 'rubygems'
    Gem.path
    => ["/Users/joel/.gem/ruby/1.8", "/opt/local/lib/ruby/gems/1.8"]
    

    これらはデフォルトのパスであるため、irbですべてが機能する場合は、問題ありません。

  2. ここで、boot.rbに追加します(もちろん、パスが異なる場合はパスを使用します)

    Gem.path.push "/opt/local/lib/ruby/gems/1.8"
    Gem::Specification.find_by_name('bundler').activate
    

    直後の

    require 'rubygems'
    

これで問題が解決することを願っています。少なくとも、Rails 3を使用できるように、修正してよかったです。

于 2011-07-09T18:57:56.203 に答える