0

キャッシュ サーバーにワニスをインストールしようとしています。私の次のスタックは...

HA プロキシ サーバー ----> キャッシュ (Varnish) サーバー ----> Nginx + Unicorn サーバー

HAProxy と Varnish のすべての構成ファイルを正しくセットアップして、パイプラインに沿ってトラフィックを移動することができました。ただし、キャッシュ サーバーをブートストラップしようとするとエラーが発生します。

** ERROR: While executing gem ... (Gem::DependencyError) ** Unable to resolve dependencies: rubber requires net-ssh (~> 2.4.0); fog requires net-ssh (>= 2.1.3); capistrano requires net-ssh (>= 2.0.14); net-ssh-gateway requires net-ssh (>= 2.6.4); net-scp requires net-ssh (>= 2.6.4); net-sftp requires net-ssh (>= 2.6.4) ** /tmp/gem_helper:32:in `block in <main>' ** : Unable to install versioned gem rubber:2.1.2 (RuntimeError ** ) ** from /tmp/gem_helper:30:in `each' ** from /tmp/gem_helper:30:in `<main>'

なぜこれが起こっているのか理解できないようです。どんな助けでも素晴らしいでしょう。ありがとう

4

2 に答える 2

2

私はこの問題を抱えていて、私が見つけた解決策はやや不十分で一時的でしたが、うまくいきました.

このエラーは、rubber:install_gemsタスク中に発生します。失敗したら、ssh 経由で ec2 サーバーにログインします。この時点で、リモート コンソールで手動で実行しようとするgem install rubber -v=2.1.2と、上記とまったく同じエラーで失敗します。(バージョン番号は異なる場合があります。これを行ったときに使用していたゴムのバージョンによって異なります)。

そのため、任意の名前の空のフォルダーを作成し、その中にほぼ空の Gemfile を作成します。

$ mkdir dummy && cd dummy
$ nano Gemfile

次に、Gemfile に次の内容を入力します。

source 'http://rubygems.org'
gem 'rubber', '2.1.2'

繰り返しますが、ゴムのバージョンは異なる場合があります。

このファイルを作成した後、実行するbundle installと、すべてが正しくインストールされます。しかし、バンドラーを介してゴムをインストールする場合と、通常の古い を介してゴムをインストールする場合の動作が異なる理由を聞かないでくださいgem install

したがって、これを達成した後、ec2 からログアウトして再実行するcap rubber:bootstrapと、動作するはずです。

不十分な部分は、ec2 で新しいインスタンスを作成することにした場合、同じ時点で再び失敗し、この手順を繰り返してプロセスを手動で再起動して完了する必要があることです。ですから、ゴムなどを変更するなどのより良い解決策を思い付くことができる人がいる場合は、お知らせください.

于 2013-02-07T18:53:16.330 に答える
0

これと同じ問題があり、それを解決したが、ワニスやユニコーンを使用していなかったと言って、これを序文にしましょう。

capistrano が不足しているようです。それを gemfile に追加すると、ほとんどの依存関係が処理されます。ただし、私の場合、ゴムは net-ssh (~> 2.4.0) が必要であると不平を言い、capistrano は最新の net-ssh gem をインストールします。したがって、これを修正するには、最新バージョンではなく net-ssh (2.4.0) を使用するように Gemfile.lock を編集し、bundle install を実行して依存関係を修正する必要があります。

于 2013-02-07T01:41:11.967 に答える