2016-04-30 13 views
2

私は自分のレールアプリの配備を実行しています。新しい宝石が追加されたときであるとansible実行bundle install、それは次のエラーを与える問題:stderr/usr/local/bin/bundle:バンドルのインストール時に引数リストが長すぎます

stderr /usr/local/bin/bundle: argument list too long 
/usr/local/bin/bundle: line 7: /usr/local/bin/bundle: success 

バンドルインストールを行うためにansibleタスクは、私はルビーを管理するためにRVMを使用しています

- name: Bundle install 
    command: 'bundle install --deployment --without development test' 
    register: bundler 
    args: 
    chdir: '/home/ubuntu/myproject' 

ですバージョン。 ruby-2.2.1を使用して、myprojectのgemsetを使用するようにrvmを設定しました。つまり、rvm use [email protected]です。

.rvm/gems/ディレクトリのみコード更新がある場合、私は、passenger_ruby /home/ubuntu/.rvm/wrappers/[email protected]/ruby

これは新しい宝石をGemfileに追加されたときにのみ起こるが指定されているruby-2.2.1/[email protected]/[email protected]/

持って、すべてが正常に動作します。私がbundle installを明示的にsshを実行して対応するインスタンスにすると、うまく動作し、gemをインストールします。 これに関する助言や提案はありますか?

+1

ある/home/ubuntu/.rvm/gems/[email protected]/bin/bundle

からもちょうど形成すべきですエラーメッセージ私はあなたのrvm-version bundlerではなく、システムのもの( '/ usr/local'にあります)を受け取っていると推測します。多分これは問題かもしれません。 – BoraMa

答えて

1

問題が発生しました。問題がスクリプトによって使用されているバンドルのパスに関連していたが/usr/local/bin/bundleだったが、それはansibleの正しいタスクは、私がAnsibleについて多くを知らない

- name: Bundle install 
    command: bundle install --without development test 
    args: 
    chdir: /home/ubuntu/myproject 
    executable: /home/ubuntu/.rvm/gems/[email protected]/bin/bundle 
    environment: 
    GEM_HOME: /home/ubuntu/.rvm/gems/[email protected] 
    GEM_PATH: /home/ubuntu/.rvm/gems/[email protected]:/home/ubuntu/.rvm/gems/[email protected] 
関連する問題