我在使用composer安装/卸载laravel中的一些依赖项时遇到了一个问题,这些依赖项在从composer.json
中删除并删除其供应商文件夹后又回来了。
我最初用的是dflydev的markdown包,但是现在我想把它改成michelf的php-markdown,但是我不能卸载旧的,因为它是从缓存加载回来的,我在AppData\Roaming\Composer
检查过了,它是空的。
有什么线索能解释为什么会这样吗?
- Installing dflydev/markdown (dev-master dee1f7a)
Loading from cache
9条答案
按热度按时间t3irkdon1#
您可以使用以下命令清除该高速缓存,而不管您使用的是什么操作系统:
或者composer是否全局安装
vlf7wbxs2#
我认为,您可以使用
--no-cache
选项标记运行composer
命令,例如或者
或者
knpiaxh13#
如果要清除所有包缓存,请尝试以下操作:
或者只清除一个或几个包:
您还可以使用
clear-cache
,它是clearcache
的别名。来源:https://blog.liplex.de/clear-composer-cache/
ubby3x7f4#
composer在vendor/packagename约定下缓存软件包,所以你不会因为这个packagename被其他厂商的软件包使用而遇到任何问题。
该高速缓存位置是:
*窗口:%LOCALAPPDATA%\编写器\文件\供应商\软件包名称
*Linux:~/.composer/缓存/文件/供应商/软件包名称
*Mac OS:~/.composer/缓存/文件/软件包名称
nxagd54h5#
不要手动编辑您的
composer.json
文件来删除软件包-它将保留在composer.lock
中。使用
composer remove
删除旧软件包,然后使用composer require
安装替换软件包。wi3ka0sx6#
在某些情况下(例如OpenSuse 42.1),所有用户缓存都将放入:
对于编写器,与其他应用程序相同,该高速缓存路径为:
因此,只需删除此文件夹如下:
ve7v8dk27#
运行以下命令
如果权限被拒绝,则添加sudo
x9ybnkn68#
在Window上,我看到 composer 缓存文件位于
C:\Users\{your_user}\AppData\Local\Composer\files
它存储ZIP文件。下面的图像有2个Zip文件,因为我已经下载了2个版本的monolog(1.0.1和1.0.2)
要删除该高速缓存,只需删除Zip文件或文件夹。
wfsdck309#
因此,在我的MacBook上唯一有效的方法是从我的
composer.json
中删除软件包,删除我的composer.lock
,运行composer update
,然后将软件包添加回composer.json
,删除我的composer.lock
(再次),并运行composer update
(再次)。我在Laravel Nova的示例中有一个本地包,我将其从Camelcase改为全小写,无论我做了什么,它一直在用旧的CamelCase名称添加包。不管我是否清除缓存或任何东西。