1

私は、packages.jsonファイルを作成したSatisを使用して、すべての外部リポジトリ(会社のポリシー)を保持するようにローカルSVNリポジトリを設定しました。composer updateを実行するときに、カスタムpackages.jsonファイルを使用して、外部の代わりにローカルリポジトリからプルするように指示するにはどうすればよいですか?

これは、私のsvnリポジトリがどこにあるかに関するpackages.jsonファイルからの宣伝文句です。

"source": {
    "type": "svn",
    "url": "http://blah/packagist/foo/bar",
    "reference": "/tags/2.3.0/@38"
}

しかし、このプロジェクトをチェックアウトするために使用するURLは次のようになります。

http://blah/packagist/foo/bar/tags/2.3.0    

私のcomposer.jsonファイルにこれも追加しました:

"repositories": [
    {
        "packagist": false,
        "type": "composer",
        "url": "http://local/packages.json"
    }
]

しかし、それはまだgitから取得されており、私のsvnリポジトリではありません。何が間違っているのでしょうか?

4

1 に答える 1

5

最初のステップは、次のようにpackagistを適切に無効にすることです。

"repositories": [
    { "packagist": false },
    {
        "type": "composer",
        "url": "http://local/packages.json"
    }
]

次に、必要なパッケージがローカルリポジトリに存在しない場合、エラーが発生する可能性があると思います。

とはいえ、それが検出されなかった場合は、おそらく、satisリポジトリに必要なすべてのパッケージが含まれていないことを意味します。パッケージが存在する場合は、packagistのものよりも優先されるためです。タグしかない場合は、dev-masterやそのような上位のprioバージョンが含まれているため、packagistのタグが選択される可能性があります。

于 2012-11-07T19:59:48.853 に答える