2017-04-09 11 views

答えて

1

--prefer-sourceまたは--prefer-distの場合、composer.jsonファイルに記録される違いはありません。唯一のことは、パッケージ自体の名前とバージョンの制約です。

composer.lockvendorのフォルダ自体に差異が生じることがあります。パッケージが既にインストールされている場合、パッケージの状態は、vendorフォルダに反映されます。それらがチェックアウトされたリポジトリである場合、Composerは--prefer-sourceのようにそれらを扱い続けます。これは、異なるバージョンに切り替えるときにいくつかの操作を高速化する可能性があります。リポジトリがない場合、Composerはそのフォルダを引き続き--prefer-distとして扱います。

sourceまたはdistは、適切な情報がcomposer.lockに記録されている場合にのみ機能します。 distのダウンロード場所が記録されていない場合、依存関係をインストールするとリポジトリのチェックアウトが行われ、その逆もあります。両方の情報が利用可能であり、方法の1つが失敗した場合、もう1つが試行され、すなわちダウンロードリンクが失敗した場合、チェックアウトが実行される。

--prefer-sourceのオプションは、依存関係の記録方法ではなく、実際にダウンロードとインストールにのみ影響します。開発時にソースをチェックアウトしたいが、クローンしたくない場合があるからです実稼働環境に展開する場合はリポジトリ全体composer installのコマンドラインフラグを使用すると、依存関係を新しくベンダーフォルダーにインストールするときにいつでも気を付け替えることができます。また、既存のベンダーフォルダーにインストールする場合は、以前の選択が保持されます。

関連する問題