Ruby on Rails перестал работать после установки netbeans?

2 дня назад я успешно установил Ruby On Rails и начал играть с учебником. Все шло хорошо и мы были счастливы. Затем сегодня я хотел продолжить учебник, но что-то сработало. Сначала я получил эту ошибку

ActiveRecord::ConnectionNotEstablished

Хм гуглил немного, потом подумал, что я должен попробовать начать новый проект, и когда я попытался сгенерировать контроллер, я получил это сообщение

me@lenovo:~/ror/blog$ rails g controller posts 
/home/me/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.10/lib/execjs/external_runtime.rb:130:in `which_unix': undefined local variable or method `cmd' for #<ExecJS::ExternalRuntime:0xae47d84> (NameError)

Потом я вспомнил, что я установил Netbeans 6.9.1 и модуль RoR позже в тот же день, после того как все прошло хорошо. Может ли это быть Netbeans с моей установкой RoR?

Кто-нибудь знает, как это сбросить? Я не против избавиться от NetBeans, если это сделка

Использование Ubuntu 11.10

2 ответа

Решение

Похоже, что есть несоответствие в имени переменной метода; это должен быть "cmd", но это "имя"

/Users/kj/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.10/lib/execjs/external_runtime.rb:130:in `which_unix': undefined local variable or method `cmd' for #<ExecJS::ExternalRuntime:0x00000100bf0b48> (NameError)

Быстрый взгляд на рассматриваемый файл показывает:

def which_unix(name)
 if File.executable? cmd
   cmd
 else
   path = ENV['PATH'].split(File::PATH_SEPARATOR).find { |path|
     File.executable? File.join(path, cmd)
   }
   path && File.expand_path(cmd, path)
 end
end

Измените имя переменной метода с "name" на "cmd", сохраняйте и наслаждайтесь!

-Kai

Поскольку я давно не общался с NetBeans, мой ответ был бы однозначным - нет. Однако я подозреваю, что ruby ​​1.9.2-p290 вводит эту ошибку. Я сделал обновление сегодня и БАМ; это не помогло моей системе точно так же, как и вашей. Таким образом... 1.9.2-p290 является виновником.

--Kai

PS> Рад, что смог помочь...

Другие вопросы по тегам