作曲家需要本地包
2022-08-30 06:50:11
我有几个库(Foo和Bar)是我正在协同开发的,但在技术上仍然是独立的东西。以前,我刚刚重新定义了自动加载器,但现在我已经向Foo添加了Guzzle依赖项,Bar翻转了它的盖子,因为它不是它的依赖项之一。"Foo\\": "../Foo/src"
目录结构:
/home/user/src/
Foo/
src/
FooClient.php
composer.json
Bar/
src/
BarClient.php
composer.json
理论自动加载语句:[在 Bar/composer.json 中]
"require": {
"local": "../Foo/composer.json"
}
示例代码:
require('vendor/autoload.php');
$f = new \Bar\BarClient(new \Foo\FooClient());
如何在不设置本地 Composer 存储库的情况下解决此问题?我想将它们作为单独的包进行维护,只是一个包需要另一个包,从而处理另一个包的依赖项。
答案后编辑:
感谢infomaniac,我做了以下工作:
初始化 git 存储库:
cd ~/src/Foo && git init && echo -e "vendor\ncomposer.lock" > .gitignore && git add ./ && git commit -m "Initial Commit"
添加了作曲家配置:
"require": {
"sammitch/foo": "dev-master"
},
"repositories": [{
"type": "vcs",
"url": "/home/sammitch/src/Foo"
}],
然后!composer update