2012-09-01 77 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" 
       } 
      } 
     } 
    ] 
} 

這適用於主分支,而是使用自定義分支它給:The requested package sylius/assortment-bundle dev-soft-deleteable-products-disabled could not be found.

任何想法?

回答

28

您應該真正使用VCS存儲庫而不是軟件包存儲庫。軟件包適用於沒有composer.json的情況,並且您希望將其指定爲內聯。你的情況是有composer.json,這樣你就可以使用VCS回購,就像這樣:

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

作曲家將在這種情況下使用GitHub的API來獲取分支名稱和檢查版本dev-soft-deleteable-products-disabled存在。如果確實如此,它將克隆存儲庫並檢出所述分支。

希望如果你這樣做的副作用,你的問題也將得到解決。

欲瞭解更多信息,請閱讀文檔chapter on repositories

+1

謝謝,這個伎倆。不知道回購可以這樣定義,那太棒了。 – umpirsky

+2

如果您想閱讀更多內容,請在文檔中添加鏈接。 – igorw

1

當嘗試一個私人倉庫,你應該嘗試Private Packagist這就像Packagist作曲家庫,可以讓你不必讓他們公開輸入自己的資料庫做到這一點。

相關問題