从缓存加载Composer

时间:2014-03-27 22:39:46

标签: laravel composer-php

我遇到了一个问题,使用composer来安装/卸载laravel中的一些依赖项,从composer.json删除它们并删除它们的供应商文件夹后返回,我最初使用dflydev的降价包但现在我想要将它更改为michelf的php-markdown,但是我无法卸载旧的,因为它从缓存中加载,我在AppData\Roaming\Composer检查并且是空的,任何关于为什么会发生这种情况的线索?

  - Installing dflydev/markdown (dev-master dee1f7a)
    Loading from cache

9 个答案:

答案 0 :(得分:54)

无论您使用何种操作系统,都可以使用以下命令清除缓存:

php composer.phar clear-cache

或全局安装composer

composer clear-cache

希望这有帮助

答案 1 :(得分:9)

composer在vendor / packagename约定下缓存包。因此,您不应该遇到任何问题,因为包名称是在其他供应商的包中使用的。

缓存位置为:

  • windows :%LOCALAPPDATA%\ Composer \ files \ vendor \ packagename
  • linux :〜​​/ .composer / cache / files / vendor / packagename

答案 2 :(得分:9)

我认为,您可以使用composer选项标记来运行--no-cache命令,例如

composer install --no-cache

composer require <package-name> --no-cache

composer update [<package-name>] --no-cache

答案 3 :(得分:4)

如果要清除所有包缓存,请尝试以下操作:

$ composer clearcache

或者只清除一个或几个包:

$ composer clearcache packagename1 packagename2 ...

<击>

您还可以使用clear-cache作为clearcache的别名。

来源:https://blog.liplex.de/clear-composer-cache/

答案 4 :(得分:3)

在某些情况下(例如OpenSuse 42.1),所有用户缓存都放入:

~/.cache/

对于作曲家,与其他应用程序相同,缓存路径为:

~/.cache/composer/

因此,只需删除此文件夹,如下所示:

rm -fR ~/.cache/composer

答案 5 :(得分:2)

运行以下命令

rm -rf ~/.composer/cache*

如果权限被拒绝添加sudo

答案 6 :(得分:2)

请勿手动编辑您的composer.json文件以删除软件包-它将保留在composer.lock中。

使用composer remove删除旧软件包,然后使用composer require安装替换软件包。

答案 7 :(得分:0)

窗口上,我看到位于
的作曲家缓存文件 C:\Users\{your_user}\AppData\Local\Composer\files

enter image description here

它存储ZIP文件。下图包含2个Zip文件,因为我已经下载了2个版本的monolog(1.0.1和1.0.2) enter image description here

要删除缓存,只需删除Zip文件或文件夹。

答案 8 :(得分:0)

因此,对我的Macbook唯一有效的方法是从composer.json删除软件包,删除composer.lock,运行composer update,然后将软件包添加回{{1 }},再次删除我的composer.json,然后再次运行composer.lock。我在Laravel Nova实例中有一个本地软件包,我从CamelCase更改为所有小写字母,无论我做什么,它都不断添加带有旧CamelCase名称的软件包。我是否清除了缓存或其他内容都没关系。