1

最近、engineyard gem をインストールしました。「ey web restart」を実行しようとすると、次のエラーが表示されます。

/home/jplato/.rvm/gems/ruby-2.2.0/gems/engineyard-3.1.2/lib/engineyard/thor.rb:32: 警告: 循環引数参照 - serverside_version Engine Yard Cloud からアプリケーション データをロードしています.. . jplato / my_app / Rails4 でサーバーを再起動する

「serverside_version」の値は空であってはなりません。

環境変数 ENGINEYARD_SERVERSIDE_VERSION=2.2.0 を設定して、サーバー側アダプターの gem バージョンと一致させようとしましたが、うまくいきませんでした。この変数を使用しない他の ey コマンド (ey status など) は正常に動作します。

ここに私の開発マシン環境に関する情報があります: OS: Ubuntu 14.04

宝石 -v 2.4.6

rvm -v rvm 1.26.10

gem リスト --local

  • エンジンヤード (3.1.2)
  • engineyard-cloud-client (2.1.1)
  • engineyard-serverside-adapter (2.2.0)
  • トール (0.19.1)
4

1 に答える 1

2

ダッシュボードではなく、engineyard gem 自体を使用してアプリケーションのデプロイをプッシュしてみてください。これにより、engineyard-serverside のバージョンが最新になる可能性があります。それが機能することを保証することはできませんが、問題を除外するためにできることの 1 つです (まだ行っていない場合)。デプロイがダッシュボードを通過するとき、CLI を介してプッシュする場合とは異なるバージョンの engineyard-serverside が使用される場合があります。その engineyard-serverside gem は、アプリ サーバー自体の「バウンス」を調整するものです。

または、次を実行できます。

ey ssh "/engineyard/bin/app_<appname> restart" -e your_env_name --app-servers

「your_env_name」という名前の環境で engineyard gem にそのスクリプトを実行させ (アプリケーション サーバーを再起動します。Unicorn など)、アプリケーション サーバーでのみコマンドを実行します。(もちろん、実際のアプリケーション名を < appname > に置き換えてください。)

それでも問題が解決しない場合は、おそらくサポート チケットを開く必要があります。幸運を!

于 2015-02-27T22:20:55.163 に答える