从缓存加载Composer

Tar*_*rik 39 php composer-php

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

  - Installing dflydev/markdown (dev-master dee1f7a)
    Loading from cache
Run Code Online (Sandbox Code Playgroud)

Ati*_*ami 73

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

php composer.phar clear-cache
Run Code Online (Sandbox Code Playgroud)

或者如果全局安装了composer

composer clear-cache
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助

  • 除非我删除了我的 `composer.lock` 文件,`clear-cache` 命令就没有效果。 (8认同)

Sye*_*man 25

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

composer install --no-cache
Run Code Online (Sandbox Code Playgroud)

或者

composer require <package-name> --no-cache
Run Code Online (Sandbox Code Playgroud)

或者

composer update [<package-name>] --no-cache
Run Code Online (Sandbox Code Playgroud)


zwa*_*cky 11

composer在vendor/packagename约定下缓存包.所以你不应该遇到任何问题,因为packagename是在另一个供应商的包中使用的.

缓存位置是:

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


mon*_*hoq 8

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

$ composer clearcache
Run Code Online (Sandbox Code Playgroud)

或仅清除一个或几个软件包:

$ composer clearcache packagename1 packagename2 ...
Run Code Online (Sandbox Code Playgroud)

您也可以使用clear-cachewhich作为的别名clearcache

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

  • 不再可能清除特定程序包的缓存。您引用的帖子中有一条评论,并且帖子本身已更新。 (2认同)

Mos*_*afa 6

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

~/.cache/
Run Code Online (Sandbox Code Playgroud)

对于composer,和其他应用一样,缓存路径为:

~/.cache/composer/
Run Code Online (Sandbox Code Playgroud)

因此,只需按如下方式删除此文件夹:

rm -fR ~/.cache/composer
Run Code Online (Sandbox Code Playgroud)


Dar*_*nen 6

不要composer.json手动编辑您的文件以删除包 - 它会保留在composer.lock.

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