我在私有项目中使用composer库来管理常用逻辑,而我以前总是使用“vcs”存储库定义安装它们,如下所示:
"require": {
"private/package": "dev-develop",
},
"repositories": {
{
"type": "vcs",
"url": "http://localhost/git/private-package.git"
}
}
...曾经像魅力一样工作,但对于我会同时使用多个库的项目来说很繁琐。 所以我决定编写自己的“作曲家”类型的存储库,它动态地生成一个“packages.json”,其中所有的库看起来都是这样的:
"packages" {
"private/package": {
"dev-develop": {
"name": "private/package",
"version": "dev-develop",
"source": {
"type": "git",
"url": "http://localhost/git/private-package.git",
"reference": "origin/develop"
}
}
}
}
安装工作正常,但它不再正确生成自动加载器。安装不再读取实际vcs存储库的“composer.json”文件。
如果我在“packages.json”文件中包含自动加载器定义,则自动加载器只能正常工作。
我希望composer使用“packages.json”定义,但仍然从实际包中读取自动加载器定义。我的问题是,如果可能的话。
如果自动加载器定义随库的更新版本而更改,则“packages.json”中的定义将不再适用于旧版本,因此我认为应该有另一种方法来解决此问题。