2012-11-08 13 views
12

Niedawno zaktualizowałem klejnoty aplikacji szyn o wartości gem update i bundle update. Kiedy starałem się przetestować go z rails s daje mi ten błąd:Błąd klejnotów kolejowych szyn "nieokreślona metoda:" mniej ""

/Users/Richard/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/railtie/configuration.rb:85:in method_missing ': Metoda niezdefiniowana less' for #<Rails::Application::Configuration:0x0000010308a300> (NoMethodError)

Reszta komunikatu o błędzie idzie tak:

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>' 

Czy to błąd z klejnotem Bootstrap na Twitterze? Nadal się uczę, więc jak to naprawić? Każda pomoc jest niesamowita.

Odpowiedz

33

Klejnot twittera na twitterze zależy od mniejszej perły. Od the docs:

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

Ja osobiście uważam, że łatwiej twitter bootstrap po prostu zrzucić pliki z official site do katalogu vendor/aktywa. Aktualizacja z gem jest nieznacznie łatwiejsza niż ręcznie, ale przy aktualizacji bootstrap, chcesz to zrobić "ręcznie" i sprawdzić to wszystko "na oko" - wolę dodatkowy wysiłek, aby nie dostał zrobione lekko. Ponadto bardzo trudno jest usunąć pewne (na przykład) responsywne części z klejnotu, bez (o ile mogłem powiedzieć) "nieokreślenia" stylów. Zmieniające się rzeczy zmieniają się z wersji na wersję pod względem wielkości, więc nie można po prostu polegać na tym, że wszystko działa. Naprawdę nie widzę żadnej korzyści z używania klejnotu.

Aktualizacja

Jest teraz oficjalnym gem dla tego, który ja polecam sprawdzić: https://github.com/twbs/bootstrap-sass

+1

Dzięki, sir. Usunąłem klejnot bootstrap i wszystko znowu działa. Użyłem go po obejrzeniu go na Railscast. – Tamachan87

+1

Z jakiegoś powodu uaktualnienie Twittera spowodowało pojawienie się tego błędu - poprzedni mniej i termubirek był w moim pliku gem, a ja nie wiedziałem, dlaczego. Zauważ, że therubyracer nie jest polecany na heroku: https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar#troubleshooting –

+0

Zły pomysł. Dowiedz się, dlaczego klejnot nie działa poprawnie. Teraz będziesz musiał ręcznie aktualizować ten fragment kodu za każdym razem, gdy chcesz uzyskać poprawkę lub wersję z bootstrapu. Jeśli chcesz zablokować określoną wersję, zrób to w swoim Gemfile. –

Powiązane problemy