我们的 PHP 应用程序有一个 Packagist 依赖项
aaa/foo
在我们的composer.json 文件中定义。
此包依赖于已删除的 Packagist 包,我们称其为:
bbb/bar
。
这打破了我们的
composer install
。
我有一个从旧安装中删除的软件包 (
bbb/bar
) 的副本。解决此问题的最简单方法是什么aaa/foo
尚未更新?
我希望有一种方法可以将丢失的包的源代码复制到代码库的
lib
目录中的目录并将其映射到composer.json
...但我不认为aaa/foo
会识别覆盖。
如果您有已删除的
bbb/bar
包,请将其放在本地文件夹中。
在下载并本地放置的
bbb/bar
包的composer.json文件中,设置需要的版本号:
{
"name": "bbb/bar",
"description": "...",
"type": "library",
"version": "1.2.3", // Here
}
然后,在您使用
aaa/foo
的项目中,引用您的本地包,以便可以将其作为“依赖项”安装:
"repositories": [
{
"type": "path",
"url": "./lib/bbb-bar"
}
],
"require": {
"aaa/foo": "^1.0",
"bbb/bar": "1.2.3"
}
我会尝试以下方法:
bbb/bar
放入应用程序中的任何本地 lib
文件夹composer.json
,以便在需要导入时找到包中的代码bbb/bar
添加到 replace
的
composer.json
可能需要调用
composer update bbb/bar
一次,以便将包从锁定文件中删除