我遇到了一个问题,使用composer来安装/卸载laravel中的一些依赖项,从composer.json
删除它们并删除它们的供应商文件夹后返回,我最初使用dflydev的降价包但现在我想要将它更改为michelf的php-markdown,但是我无法卸载旧的,因为它从缓存中加载,我在AppData\Roaming\Composer
检查并且是空的,任何关于为什么会发生这种情况的线索?
- Installing dflydev/markdown (dev-master dee1f7a)
Loading from cache
答案 0 :(得分:54)
无论您使用何种操作系统,都可以使用以下命令清除缓存:
php composer.phar clear-cache
或全局安装composer
composer clear-cache
希望这有帮助
答案 1 :(得分:9)
composer在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
的别名。
答案 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
它存储ZIP文件。下图包含2个Zip文件,因为我已经下载了2个版本的monolog(1.0.1和1.0.2)
要删除缓存,只需删除Zip文件或文件夹。
答案 8 :(得分:0)
因此,对我的Macbook唯一有效的方法是从composer.json
删除软件包,删除composer.lock
,运行composer update
,然后将软件包添加回{{1 }},再次删除我的composer.json
,然后再次运行composer.lock
。我在Laravel Nova实例中有一个本地软件包,我从CamelCase更改为所有小写字母,无论我做什么,它都不断添加带有旧CamelCase名称的软件包。我是否清除了缓存或其他内容都没关系。