這是情況。使用Composer路徑存儲庫和合並插件進行開發,如何避免更新composer.lock?
我正在開發package-a這取決於package-b。後者託管在到位桶:
projects/
├── package-a/
├── package-b/
我需要更改包-B並查看結果,而無需按下代碼,做一個composer update
。然後,完成工作後,我將推送一個新標籤並將包-a部署到生產服務器。
所以我結束了使用composer-merge-pluging和Composer path repositories,具有以下配置:
這裏是的composer.json
包一個:
{
"name": "my/package-a",
"require": {
"my/package-b": "^1.0"
},
"repositories": [
{
"type": "vcs",
"url": "[email protected]:my/package-b.git"
}
],
"extra": {
"merge-plugin": {
"include": [
"composer.local.json"
]
},
"replace": true
}
}
該文件將包括composer.local.json
(只在我的地方機器!這個文件沒有提交也沒有推送到生產服務器),我在這裏說「使用dev-master版本和路徑庫」:
{
"require": {
"my/package-b": "dev-master"
},
"repositories": [
{
"type": "path",
"url": "../package-b"
}
]
}
的設置是在這個意義上罰款,如果我從運行composer install
包一個然後包-B被鏈接,我可以直接進行這項工作。
但是當我部署包一個使用Deployer(版本的composer.lock
文件太)我的服務器它確實composer install
但鎖定文件包含使用路徑存儲庫包-B @ DEV-主參考(這是錯誤的)。
任何想法如何解決這個問題?我確信這是一個常見的問題,但我無法得到它。