2015-09-23 54 views
2

我想玩我目前在Github/Packagist上的一個回購券。其實,我想把它變成Yii2的延伸。我不想跟着git add,git commit,git push,作曲者更新,圈子。我想繞過我的Github/Packagist並單獨使用本地源。我希望它像Packagist上不存在的包一樣行事。Yii2&Composer - 我如何在本地拉1包,忽略包裝師

我使用Yii2,所以它有它自己的composer.json文件。所以他們都仍然需要工作,並且爲我的1套餐使用不同的來源。

當然,默認Yii2作曲家需要塊:

"require": { 
    "php": ">=5.4.0", 
    "yiisoft/yii2": ">=2.0.6", 
    "yiisoft/yii2-bootstrap": "*", 
    "yiisoft/yii2-swiftmailer": "*", 
    "wadeshuler/my-package" : "*"  // <-- needs to pull from local 
}, 

然後你有我的包的作曲家:

"autoload": { 
    "psr-4": { 
     "wadeshuler\\Package\\": "src/" 
    } 
} 

再次,我要告訴Yii2 composer.json加載我在本地打包並忽略Packagist。

回答

2

顯然,作曲家是聰明比我給它的信貸:)

我嘗試各種額外的東西,當它真的很簡單,就在我的面前。

如果存在,作曲家會自動選擇您的本地包。

所以在我Yii2 composer.json,添加庫塊:

"repositories": [ 
    { 
     "type": "path", 
     "url": "../My-Package" 
    } 
], 

並要求其爲正常:

"require": { 
    "php": ">=5.4.0", 
    "yiisoft/yii2": ">=2.0.6", 
    "yiisoft/yii2-bootstrap": "*", 
    "yiisoft/yii2-swiftmailer": "*", 
    "wadeshuler/my-package": "*" // <-- My-Package 
}, 

即使我的包是在GitHub上,作曲家神奇地知道我想要使用本地來源:)