Git Yii2&;Composer-如何在忽略PackageGist的情况下本地提取1个包

Git Yii2&;Composer-如何在忽略PackageGist的情况下本地提取1个包,git,github,yii2,composer-php,packagist,Git,Github,Yii2,Composer Php,Packagist,我想在Github/Packagist上玩我的一个回购协议。实际上,我想把它变成一个Yii2扩展。我不想遵循git添加、git提交、git推送、composer更新、循环。我想绕过Github/Packagist,只使用本地源。我希望它表现得像我的包在PackageGist上不存在一样 我使用的是Yii2,所以它有自己的composer.json文件。因此,它们仍然需要工作,只需为我的1包使用不同的源代码即可 当然,默认的Yii2编写器需要块: "require": { "php": "

我想在Github/Packagist上玩我的一个回购协议。实际上,我想把它变成一个Yii2扩展。我不想遵循git添加、git提交、git推送、composer更新、循环。我想绕过Github/Packagist,只使用本地源。我希望它表现得像我的包在PackageGist上不存在一样

我使用的是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
},

再一次,我想告诉Yii2 composer.json在本地加载我的包并忽略Packagist。

显然,composer比我想象的更聪明:)

我在尝试各种额外的东西,其实很简单,就在我面前

Composer会自动选择您的本地包(如果存在)

因此,在my Yi2 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
},
“需要”:{
“php”:“>=5.4.0”,
“yiisoft/yii2”:“>=2.0.6”,
“yiisoft/yii2引导”:“*”,
“yiisoft/yii2快捷邮件”:“*”,
“wadeshuler/my package”:“*”//神奇之处在于:Composer将正确选择您的包而不是原始包,因为自定义存储库的优先级高于PackageGist。()
"require": {
    "php": ">=5.4.0",
    "yiisoft/yii2": ">=2.0.6",
    "yiisoft/yii2-bootstrap": "*",
    "yiisoft/yii2-swiftmailer": "*",
    "wadeshuler/my-package": "*"    // <-- My-Package
},