私は、プロジェクトセットアップワークフローの一部でコンポーザーを使用しています。セットアップの各部分は、結果とその他の関連情報をファイルに記録します。 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> test3.txt'を必要としています。 Microsoftの記事[コマンドリダイレクション演算子の使用](https://technet.microsoft.com/en-us/library/bb490982.aspx)を参照してください。 'composer install> test3.txt 2>&1'を使って、テキストファイルにリダイレクトされた両方の標準ハンドルに印刷されたすべてのメッセージを取得することもできます。 – Mofi
@Mofi 'install 2> test3.txt'と' install> test3.txt 2>&1'の両方が動作しました。インストールコマンドを使用すると、Composerは** STDERR **に出力されます。あなたが言ったことを確認してその問題を検索するときに、いくつかのリンクが返されます。 https://github.com/composer/composer/issues/3795 –