2012-09-01 7 views
9

たとえば、他の人のバンドルを使いたいが、いくつかの変更を加えたいとします。だから、あなたには、いくつかの新しいブランチに修正を行う、などcomspoer.json設定:Packagistを使用しないComposerを使用する

{ 
    "require": { 
     "sylius/assortment-bundle": "dev-soft-deleteable-products-disabled" 
    }, 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "name": "sylius/assortment-bundle", 
       "version": "1.0", 
       "autoload": { "psr-0": { "Sylius\\Bundle\\AssortmentBundle": "" } }, 
       "target-dir": "Sylius/Bundle/AssortmentBundle", 
       "source": { 
        "url": "https://github.com/umpirsky/SyliusAssortmentBundle.git", 
        "type": "git", 
        "reference": "soft-deleteable-products-disabled" 
       } 
      } 
     } 
    ] 
} 

これは、masterブランチで動作しますが、カスタムの枝でそれは与える:The requested package sylius/assortment-bundle dev-soft-deleteable-products-disabled could not be found.

を任意のアイデア?

答えて

28

実際には、パッケージリポジトリではなくVCSリポジトリを使用する必要があります。パッケージはcomposer.jsonがなく、代わりにインラインで指定する場合に使用します。

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/umpirsky/SyliusAssortmentBundle" 
    } 
] 

Composerは、この場合、ブランチ名を取得し、バージョンdev-soft-deleteable-products-disabledが存在するかどうかを確認するためにGitHubのAPIを使用します:あなたがそうのように、VCSのレポを使用することができますので、あなたのケースでは、composer.jsonあります。もしそうであれば、リポジトリをクローンし、そのブランチをチェックアウトします。

これを副作用として実行すると、問題が修正されることをお勧めします。

詳細については、chapter on repositoriesのドキュメントをご覧ください。

+1

ありがとう、それはトリックでした。 reposがそれのように定義できることを知りませんでした、それは素晴らしいです。 – umpirsky

+2

詳細を読む場合に備えて、ドキュメントへのリンクを追加しました。 – igorw

2

Satisは、個人用リポジトリのComposer依存性を一元的に制御できるように、Packagistのマイクロバージョンとして使用できます。あなたはそれらを公開することなく、独自のリポジトリを入力することができますPackagistなどの作曲リポジトリですPrivate Packagistを試してみる必要があるのプライベートリポジトリのためにこれをやろうとしている

Composer Guide to Satis Usage

関連する問題