Composer从缓存中克隆而不是仓库

6

我正在处理两个项目,它们都设置为Git仓库,并且都使用Composer。 第一个项目将第二个项目用作库。 我按照以下方式配置了composer.json:

... "repositories": [
    {"type": "composer", "url":"http://composer.myrepourl.com/repo/private/"},
]

"require": {
    "second/second": "dev-B-3"
} ...

第一次从存储库中拉取项目没有任何问题。但现在我对第二个项目进行了一些更改,将其推送到存储库,并希望将它们应用于第一个项目,但由于某种原因composer仍然从缓存中拉取。
我运行了composer clear-cache。我尝试删除:vendor文件夹,/home/user/.composer/cache,容器内的缓存/root/.composer/cache,但它仍然找到一种方法从缓存中克隆第二个项目,而不是从存储库中拉取。
有什么办法可以强制composer始终从存储库中拉取,而不是从缓存中克隆?
3个回答

7

1
您可能还需要添加 --no-cache(并在此之前从供应商目录中删除该软件包)。 - robrecord
在 Bitbucket 管道中,我仍然看到了“- Syncing studiopress/genesis-connect-woocommerce (dev-develop 2ac4dfe) into cache”的信息。我仍在寻找绕过缓存并重新下载的方法。 - rhand

1

你应该运行

composer clear-cache

那么

composer update --prefer-source

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接