0

プライベート git リポジトリでホストされている依存関係があり、パッケージ管理に satis を使用しています。リポジトリのマスター ブランチへのコミットを「1.0.0」としてタグ付けし、composer.json ファイルでそのパッケージを使用する場所を指定しました。

"require": {
  "package/name": "~1.0"
},
"repositories": [
{
  "type": "composer",
  "url": "http://myownsatisrepo"
},
"config": {
  "preferred-install": "dist"
}

コマンドを実行していますcomposer install --prefer-dist

したがって、安定したパッケージ バージョンを指定したという事実は、composer がレポ (私が望まない .git フォルダーを含む) を複製するだけでなく、代わりにパッケージをダウンロードすることを保証するはずです。install コマンドへの追加の構成フラグとパラメーターは、同じことを行う必要があります。それでも、composer はパッケージを複製するだけです。

4

1 に答える 1

2

Composer は、入手方法を知っている場合にのみ配布 ZIP をダウンロードできます。それ以外の場合 (または取得に失敗した場合)、リポジトリを複製します。

Github や Bitbucket などのよく知られている特定の Git リポジトリ ホスティング サービスを使用している場合、Composer はそれらの API 構造と ZIP ファイルをダウンロードする場所を認識します。他のものを使用している場合は、そうではありません。

最後のフォールバックとして、理論的には Satis のメタデータに ZIP ファイルのダウンロード URL を含めることができます。Satis では、これらのファイルを作成するように構成できますが、そうすると、Composer のメタ データに加えて、すべての ZIP ファイルのホスティング キャパシティが得られます。Satis に ZIP を作成させず、Composer に知られているダウンロード機能を提供しないリポジトリを使用している場合、何があっても常にリポジトリのクローン作成をトリガーします。

Composer が何らかの方法でソース コードを取得すると、ベンダー フォルダー全体を削除するまで、ソース コードが保持されることに注意してください。特にリポジトリのクローンを作成した場合、Composer が単純に最新のコミットに更新してから必要なコミットをチェックアウトすると、より高速でトラフィックの使用量が少なくなります。

于 2016-02-02T23:01:31.407 に答える