2012-11-08 8 views
12

Ich habe vor kurzem meine Rails App Edelsteine ​​mit gem update und bundle update aktualisiert. Als ich versuchte, es mit rails s zu testen, es gibt mir diese Fehlermeldung:Rails railties gem Fehler "undefined Methode: 'weniger'"

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

Der Rest der Fehlermeldung geht dies wie:

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

Ist dies ein Fehler beim Twitter-Bootstrap-Juwel? Ich lerne immer noch, wie würde ich das beheben? Jede Hilfe ist großartig.

Antwort

33

Das twitter bootstrap Juwel hängt von der weniger Edelstein. Von the docs:

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

habe ich fand es persönlich leichter twitter Bootstrap-Dump nur die Dateien aus dem official site in den Verkäufer/Vermögen Verzeichnis. Das Aktualisieren von dem Juwel ist geringfügig einfacher als von Hand, aber wenn man den Bootstrap aktualisiert, möchte man es "von Hand" machen und es trotzdem "mit dem Auge" überprüfen - ich bevorzuge den zusätzlichen Aufwand, um sicherzustellen, dass es nicht kommt leicht gemacht. Außerdem ist es sehr schwierig, bestimmte (zum Beispiel) reaktionsfähige Teile aus dem Edelstein zu entfernen, ohne (soweit ich das beurteilen könnte) die Stile "nicht anzugeben". Das reaktionsschnelle Zeug ändert sich von Version zu Version hinsichtlich der Größe, so dass man sich nicht darauf verlassen kann, dass alles funktioniert. Ich kann wirklich keinen Vorteil sehen, den Edelstein zu benutzen.

aktualisieren

Es jetzt dieses ein offizielles Juwel ist, die ich empfehlen, Check-out: https://github.com/twbs/bootstrap-sass

+1

Danke, Sir. Ich habe das Bootstrap-Juwel entfernt und alles funktioniert wieder. Ich habe es benutzt, nachdem ich es auf Railscast gesehen habe. – Tamachan87

+1

Aus irgendeinem Grund hat das Aktualisieren von Twitter diesen Fehler angezeigt - vorher weniger und therubyracer war in meiner Datei, und ich wusste nicht warum. Beachten Sie, dass Therubyracer nicht auf Heroku empfohlen wird: https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar#troubleshooting –

+0

Schlechte Idee. Finde heraus, warum der Edelstein nicht richtig funktioniert. Jetzt müssen Sie diesen Codeabschnitt jedes Mal manuell aktualisieren, wenn Sie ein Fix- oder Versionsinkrement vom Bootstrap benötigen. Wenn Sie eine bestimmte Version sperren möchten, tun Sie dies in Ihrer Gemdatei. –

Verwandte Themen