16

独自の Satis リポジトリがあり、そこに独自の依存関係を保存できます。これはうまくいきます。

ただし、開発者が独自のリポジトリにないパッケージを使用する場合、Composer は packagist.org を介して GitHub からパッケージを取得します (フォールバックとして)。

しかし、packagist.org に依存したくありません。すべての依存関係は、独自のリポジトリからダウンロードする必要があります。

私たちが知りたいのは、Satis が Packagist からパッケージをダウンロードし、ローカルでまだ利用できない場合は、それを保存して Satis 自身のリポジトリに自動的に追加できるかどうかです。

このように、依存関係を Satis リポジトリに手動で追加する必要はありません。

4

2 に答える 2

15

Satis はこれをサポートするようになりました。

Satis のセットアップ手順に従って、構成ファイル (既定では satis.json という名前) に次の行を追加します。必要に応じて prefix-url と require を更新します。

{
    "repositories": [
        { "type": "composer", "url": "https://packagist.org" }
    ],
    "require-dependencies": true,
    "require": {
        {{your application dependencies from composer.json}}
    },
    "archive": {
        "directory": "dist",
        "prefix-url": "{{your server}}",
        "skip-dev": true
    }
}

その後、通常どおり Satis リポジトリを作成できます。

php bin/satis build <configuration file> <build dir>

これで、Satis リポジトリがアプリケーションのすべての依存関係を満たします。


注: 最初の実行には時間がかかる場合があります。その後の実行ははるかに高速です。また、Satis はキャッシュに /tmp を使用することに注意してください。/tmp が tmpfs によってサポートされている小さなメモリ システムでは、大きな依存関係ツリーがある場合、/tmp が使用できるスペースを増やす必要がある場合があります。

プロジェクトの composer.json ファイルでPackagist リポジトリを無効にして、すべての依存関係が Satis リポジトリから取得されるようにすることもできます。これを行うには、次を追加します。

{
    "repositories": [
        {
            "packagist": false
        }
    ]
}

プロジェクトの composer.json に追加します。

于 2013-07-26T19:38:44.883 に答える
6

今のところ、ブローカーを使用してこれを実現できます。ほとんどの場合、この機能は将来的に満足するために追加されるでしょう。

于 2012-08-09T16:16:46.240 に答える