接続に失敗しました:domain.com(NoMethodError:未定義のメソッド `> 'true:TrueClass)

私は何が起こったのか分かりませんが、これは私を無毛にしています!

I was trying to make the cap:deploy command work, then, out of nowhere, i get this error: connection failed for: domain.com (NoMethodError: undefined method>' for true:TrueClass) `

私はコードを編集しませんでした。問題がどこにあるのかを突き止めるために、私はdeploy.rbファイルの行ごとに削除を始めました。これらの3行の少なくとも1つが存在しない場合、エラーは発生しません。

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

しかし、私はそれらの行を削除し、キャップの展開を実行する:セットアップは再びそれは私に同じエラーを与える。

いいえ、何が原因なのですか?

1
完全なバックトレースを投稿して、>がどこから伝播しているかを知ることができます
追加された 著者 Ransom Briggs,
エラーが見つかりました!ありがとうSteph、あなたのコメントを読んだ後、私はそれに "真"のあるデプロイメントファイルのすべてをチェックして、set:scm_verbose、trueの代わりにverbose、trueを見つけました。
追加された 著者 leonel,
私はあなたに賞金を支払うことができるので、@ StephRoseは答えを少し詳しく説明します
追加された 著者 leonel,
ロールから、:primary => true を削除するとどうなりますか:db?
追加された 著者 Steph Rose,
やった。ありがとう、@レオネル、そして私達がそれを遠くに持っているのを見てどこを知ってうれし!
追加された 著者 Steph Rose,

1 答え

あなたが言うエラーが表示されるたびに:

undefined method > for [class]

I've usually found that it's due to a definition's symbol => value

In this case, yours says > for true:TrueClass, so try taking off the , :primary => true

それが原因であれば、展開ファイルの設定を確認するか、定義したシンボルが実際に存在するか適用されるか、構文が正しいかどうかを確認してください。

私の場合には、 if のような文がありました:

XXX, if :symbol > 0 

in a model that caused the error, and I needed to convert it into a Proc

(別の理由で他の人が同じ未定義のメソッドを持っている場合に備えて、ちょっと拡張しました)

3
追加された