2015-09-23 31 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上,作曲家神奇地知道我想要使用本地来源:)