2016-10-15 19 views
0

私は、プロジェクトセットアップワークフローの一部でコンポーザーを使用しています。セットアップの各部分は、結果とその他の関連情報をファイルに記録します。 composer installの出力をキャプチャできません。 composer installをコマンドラインから直接実行すると、パッケージが正しくインストールされ、コマンドウィンドウに出力が表示されます。 cmdファイルから実行すると、パッケージはインストールされますが、出力はファイルに保存されませんが、他のコンポーザコマンド(-V、ヘルプなど)の出力はファイルに保存されます。Composerのテキストファイルへの出力のリダイレクト

私はヘルプを知っていて、-Vコマンドはcdにする必要はありませんが、私はtest1とtest2のcmdファイルに、この問題と関係がないことを除外しました。

以下は、いくつかの.cmdファイルの内容と結果です。

Composer version 1.2.1 2016-09-12 11:27:19 

をtest2.cmd

@ECHO OFF 
cd "C:\path\to\project" 
composer -V > test1.txt 

test1.txtという内容をtest1.cmd

@ECHO OFF 
cd "C:\path\to\project" 
composer help > test2.txt 

test2.txtという名前の内容

Usage: 
    help [options] [--] [<command_name>] 

Arguments: 
    command      The command to execute 
    command_name     The command name [default: "help"] 

Options: 
     --xml      To output help as XML 

...truncated 

@ECHO OFF 
cd "C:\path\to\project" 
composer install > test3.txt 

test3.txtが作成されますが、空test3.cmd 0キロバイトのファイルです。

いくつかのコンポーザーコマンドの出力をキャプチャーできますが、インストールコマンドは出力できないのはなぜですか?その特定のコマンドについては何が違うのですか? bashで

+2

おそらく*作曲*プリントと、あなたはそれゆえ、' 2> test3.txt'を必要としています。 Microsoftの記事[コマンドリダイレクション演算子の使用](https://technet.microsoft.com/en-us/library/bb490982.aspx)を参照してください。 'composer install> test3.txt 2>&1'を使って、テキストファイルにリダイレクトされた両方の標準ハンドルに印刷されたすべてのメッセージを取得することもできます。 – Mofi

+0

@Mofi 'install 2> test3.txt'と' install> test3.txt 2>&1'の両方が動作しました。インストールコマンドを使用すると、Composerは** STDERR **に出力されます。あなたが言ったことを確認してその問題を検索するときに、いくつかのリンクが返されます。 https://github.com/composer/composer/issues/3795 –

答えて

0

: `だけ__STDERR__にinstall`代わりの__STDOUT__にcomposer install --no-ansi &>log

関連する問題