Ошибка подключения для: domain.com (NoMethodError: неопределенный метод `> 'для true: TrueClass) - PullRequest
1 голос
/ 12 ноября 2011

Понятия не имею, что произошло, и это лишает меня волосяного покрова!

Я пытался заставить команду cap: deploy работать, затем из ниоткуда я получаю эту ошибку: connection failed for: domain.com (NoMethodError: undefined method> 'для истины: TrueClass) `

Я вообще не редактировал код.Чтобы попытаться определить, в чем проблема, я начал удалять строку за строкой в ​​файле deploy.rb и понял, что если нет хотя бы одной из этих трех строк, ошибка не происходит.

role :web, "domain.com"
role :app, "domain.com"
role :db,  "domain.com", :primary => true

и, конечно, это дает мне еще одну ошибку из-за отсутствия серверов.Любая идея, что может дать мне эту ошибку?

Непосредственно перед получением этой ошибки я пытался установить это право ...

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :rvm_bin_path, "$HOME/.rvm/bin/"
set :rvm_path, "/usr/local/rvm/"
set :rvm_ruby_string, '1.9.2-p290'
set :rvm_type, :user

но если я удаляю эти строки и запускаю capразвертывание: установка снова, это все еще дает мне ту же ошибку.

НЕТ ИДЕИ, ЧТО ЕГО ПРИЧИНА!

1 Ответ

3 голосов
/ 24 ноября 2011

Всякий раз, когда вы видите ошибку, которая говорит:

undefined method > for [class]

Я обычно обнаруживал, что это из-за определения symbol => value

В этом случае ваш говорит > for true:TrueClass, поэтому попробуйте снять , :primary => true

Если это и есть преступник, либо проверьте свои настройки в файле развертывания, либо посмотрите, является ли определенный вами символ тем, который действительно существует / применяется, или правильный синтаксис.

В одном случае для меня у меня было if утверждение вроде:

XXX, if :symbol > 0 

в модели, которая вызвала ошибку, и мне нужно было преобразовать ее в Proc

(Я немного расширил на тот случай, если другие используют тот же неопределенный метод по другой причине.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...