Проблемы с рейком после переключения на рвм и рельсы 3 - PullRequest
1 голос
/ 06 июня 2011

Итак, суть проблемы в том, что я получаю следующую ошибку при запуске

rake -T

WARNING: Global access to Rake DSL methods is deprecated.  Please Include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method SeenicServer::Application#task called at /home/grantismo/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
rake aborted!
no such file to load -- parse_tree

Так что, очевидно, я это сделал, установил gem ParseTree.Запуск gem list -d ParseTree производит:

*** LOCAL GEMS ***

ParseTree (3.0.7)
    Author: Ryan Davis
    Rubyforge: http://rubyforge.org/projects/parsetree
    Homepage: http://rubyforge.org/projects/parsetree/
    Installed at: /home/grantismo/.rvm/gems/ruby-1.9.2-p180

    ParseTree is a C extension (using RubyInline) that extracts the
    parse tree for an entire class or a specific method and returns it
    as a s-expression (aka sexp) using ruby's arrays, strings, symbols,
    and integers

похоже, что я использую правильные грабли

which rake

/home/grantismo/.rvm/gems/ruby-1.9.2-p180/bin/rake

Большинство прочитанных мной объяснений говорят о запуске sudo gem install ParseTree, ноЯ не понимаю, почему я должен устанавливать с sudo, если я управляю гемами через rvm.

Есть идеи?Я Unix Noob, так что это может быть что-то простое.Спасибо за ваше время.

1 Ответ

3 голосов
/ 06 июня 2011

Вы должны убедиться, что в вашем Gemfile есть строка gem 'ParseTree', иначе Rails не загрузит ее (даже если система установлена).

После добавления строки выполните bundle install.

...