mak*_*eze 4 caching composer-php
我有两个我正在处理的项目,都设置为 git repos,都使用作曲家。第一个项目使用第二个作为库。我通过以下方式配置了 composer.json:
... "repositories": [
{"type": "composer", "url":"http://composer.myrepourl.com/repo/private/"},
]
"require": {
"second/second": "dev-B-3"
} ...
Run Code Online (Sandbox Code Playgroud)
第一次从存储库中提取项目没有问题。但是现在我在第二个项目中做了一些更改,推送到 repo,现在希望将它们放在第一个项目中,但由于某种原因,composer 从缓存中提取。
我运行了composer clear-cache。我尝试删除:vendor 文件夹、/home/user/.composer/cache、缓存在容器 /root/.composer/ 中,但它仍然找到了一种从缓存中克隆第二个项目而不是从 repo 中提取它的方法。
关于如何强制作曲家始终从 repo 中提取而不是从缓存中克隆的任何想法?
跑
$ composer install --prefer-source
Run Code Online (Sandbox Code Playgroud)
或者,composer.json通常指定您的首选安装方法:
{
"config": {
"preferred-install": "source"
}
}
Run Code Online (Sandbox Code Playgroud)
或专门针对所需的依赖项
一般来说:
{
"config": {
"preferred-install": {
"vendor/package": "source",
"*": "dist"
}
}
}
Run Code Online (Sandbox Code Playgroud)
参考:
好的,我找到了解决方案:
sudo rm -r /home/user/project/vendor
cd %wherever_your_docker_is%
docker-compose stop
docker-compose rm
docker-compose up -d
composer update
Run Code Online (Sandbox Code Playgroud)