2016-08-02 18 views
2

Rubin: 2.3.0p0annotate gem Schienen Konfiguration geben Fehler

Rails-Version: 4.2.6

annotate gem Version: 2.7.1

Auf rails g annotate:install tun gibt mir diese Fehlermeldung:

(erb):34:in `template': uninitialized constant AnnotateModels (NameError) 
from /Users/newput/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/erb.rb:864:in `eval' 
from /Users/newput/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/erb.rb:864:in `result' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb:116:in `block in template' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:53:in `render' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:62:in `block (2 levels) in invoke!' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:62:in `open' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:62:in `block in invoke!' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:116:in `invoke_with_conflict_check' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:60:in `invoke!' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions.rb:94:in `action' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:25:in `create_file' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb:115:in `template' 
from /Users/newput/.rvm/gems/ruby-2.3.0/gems/annotate-2.7.1/lib/generators/annotate/install_generator.rb:9:in `copy_tasks' 

Antwort

4

Ich bin mir nicht sicher, ob dies Ihren Fehler löst, aber ich habe denselben Fehler durch folgende Schritte:

$ rails new hi 
    $ cd hi 
    $ echo "gem 'annotate', '2.7.1', require: false" >> Gemfile 
    $ bundle 
    $ rails g annotate:install 
    Running via Spring preloader in process 29328 
     create lib/tasks/auto_annotate_models.rake 
    (erb):34:in `template': uninitialized constant AnnotateModels (NameError) 
      from /home/hibariya/.rbenv/versions/2.3.0/lib/ruby/2.3.0/erb.rb:864:in `eval' 
      from /home/hibariya/.rbenv/versions/2.3.0/lib/ruby/2.3.0/erb.rb:864:in `result' 
      from /home/hibariya/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb:116:in `block in template' 
    ... 

Ich denke, dass dieser Fehler behoben werden kann, indem das Annotate-Juwel im Voraus erfordert. Also als ich require: false von gem 'annotate', '2.7.1', require: false in der Gemfile entfernte dann wurde der Fehler behoben.

+0

Nicht für mich gearbeitet! – shashank

+2

Hmm. Hast du "Gem" Annotate "unter eine Gruppe in der Gemfile gelegt? Wenn die Gruppe und die RAILS_ENV nicht übereinstimmen, wird der Edelstein nicht geladen und der gleiche Fehler ist aufgetreten. – hibariya

+1

Danke, das Verschieben von "Anmerkungen" in Entwicklungsbündel funktioniert. – shashank