通过Composer调用本地正在开发中的Package

第一步,在 composer.json 中配置本地 Package 的位置:
– type表明是本地目录
– 将packagist.org设置为false,理论就不会去远程抓取,实际还会的
– symlink设置为true以后,对package的修改都实时生效,不需要update,超级实用
– url是相对于当前项目的相对路径,指向 package 的 composer.json 所在的目录。

"repositories": [
    {
        "type": "path",
        "packagist.org": false,
        "symlink": true,
        "url": "../../Projects/cuimingda/truncate"
    },
    {
        "type": "path",
        "packagist.org": false,
        "symlink": true, 
        "url": "../../Projects/cuimingda/laravel-helpers"
    }
],

第二步,引用本地组件,如果直接使用命令行,就是下面这种,关键是版本号一定要写成 @dev :

composer require cuimingda/truncate:@dev --dev -vvv

当然也可以编辑 composer.json 来完成,效果一样:

"require-dev": {
    "cuimingda/truncate": "@dev",
    "cuimingda/laravel-helpers": "@dev",
},

在实际项目的开发过程中,本地调试组件,实时生效,调试完毕以后,提交到GitHub,并更新到Packagist上,那么在线上环境只要 composer update 就可以了。