2012-11-08 24 views
12

Kısa bir süre önce raylar uygulamasının değerli taşlarını gem update ve bundle update ile güncelledim.Rails railties gem hatası "undefined method: 'less'"

/Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/railtie/configuration.rb:85:in method_missing ': tanımsız yöntem less' for #<Rails::Application::Configuration:0x0000010308a300> (NoMethodError)

hata mesajının kalanı şöyle: Ben rails s ile bunu test çalıştığımızda bana bu hata veriyor

from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/twitter-bootstrap-rails-2.1.6/lib/twitter/bootstrap/rails/engine.rb:15:in `block in <class:Engine>' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing' 
    from /Users/Richard/Code/Rails/rgsimms/config/environment.rb:5:in `<top (required)>' 
    from /Users/Richard/Code/Rails/rgsimms/config.ru:4:in `require' 
    from /Users/Richard/Code/Rails/rgsimms/config.ru:4:in `block in <main>' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize' 
    from /Users/Richard/Code/Rails/rgsimms/config.ru:1:in `new' 
    from /Users/Richard/Code/Rails/rgsimms/config.ru:1:in `<main>' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/server.rb:200:in `app' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands/server.rb:46:in `app' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/server.rb:252:in `start' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in `start' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap' 
    from /Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

bu bir mi Twitter Bootstrap gem ile hata? Hala öğreniyorum, bunu nasıl düzelteceğim? Herhangi bir yardım harika.

cevap

33

Twitter bootstrap gem, daha az gem bağlıdır. the docs Gönderen:

gem "therubyracer" 
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS 
gem "twitter-bootstrap-rails" 

Ben şahsen daha kolay twitter önyükleme sadece satıcı/aktifler dizine official site dosyaları dökümü için buldum. Gemden güncelleme marjinalden daha kolay bir eldir, ancak bootstrap'i güncellerken, "el ile" yapmak ve "göz yoluyla" herşeyi kontrol etmek istersiniz - bunu elde etmemek için ekstra çabayı tercih ederim. hafifçe bitti. Ayrıca, (örneğin) söyleyebildiğim kadarıyla, stilleri tanımlamaksızın belirli (örneğin) cevher kısımlarını gemiden çıkarmak çok zordur. Duyarlı şeyler, versiyondan versiyona, büyüklük açısından değişir, böylece sadece tüm çalışmalara güvenemezsiniz. Gem'i kullanmanın hiçbir avantajını gerçekten göremiyorum.

Güncelleme ı göz atmanızı öneririz bunun için resmi bir mücevher, şimdi var

: https://github.com/twbs/bootstrap-sass

+1

teşekkür ederim efendim. Bootstrap gemini çıkardım ve hepsi tekrar çalışıyor. Bunu Railscast'te gördükten sonra kullandım. – Tamachan87

+1

Herhangi bir nedenden dolayı, twitter güncellenmesi bu hatayı ortaya çıkardı - daha az önceki ve o zaman dilbilgisi benim gemfile olmuştu ve nedenini bilmiyordum. Therubyracer'ın heroku'da kabul edilmediğini unutmayın: https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar#troubleshooting –

+0

Kötü fikir. Gem neden doğru çalışmıyorsa anlamaya. Artık, önyüklemeden bir düzeltme veya sürüm artışı istediğiniz her seferinde bu kod parçasını manuel olarak güncellemeniz gerekecektir. Belirli bir sürümde kilitlemek isterseniz, bunu Gemfile'ınızda yapın. –

İlgili konular