我正在处理两个项目,两个都设置为git repos,都使用composer。 第一个项目使用second作为库。 我按以下方式配置了composer.json:
... "repositories": [
{"type": "composer", "url":"http://composer.myrepourl.com/repo/private/"},
]
"require": {
"second/second": "dev-B-3"
} ...
第一次从存储库中拉出项目没有问题。但是现在我在第二个项目中进行了一些更改,推送到了repo,现在想要将它们放在第一个项目中,但由于某些原因,作曲家从缓存中拉出来。
我运行了作曲家clear-cache。我尝试删除:vendor文件夹,/ home / user / .composer / cache,cache inside container /root/.composer/,但它仍然找到了一种从缓存中克隆第二个项目的方法,而不是从repo中提取它。
关于如何强制编写器总是从repo中提取而不是从缓存中克隆的任何想法?
答案 0 :(得分:2)
运行
$ composer install --prefer-source
或者,通常在composer.json
中指定首选安装方法:
{
"config": {
"preferred-install": "source"
}
}
或专门针对所需的依赖
通常:
{
"config": {
"preferred-install": {
"vendor/package": "source",
"*": "dist"
}
}
}
供参考,见:
答案 1 :(得分:1)
您应该跑步
composer clear-cache
然后
composer update --prefer-source
答案 2 :(得分:0)
好的,我找到了解决方案:
sudo rm -r /home/user/project/vendor
cd %wherever_your_docker_is%
docker-compose stop
docker-compose rm
docker-compose up -d
composer update