使用PHP Composer从Laravel中删除包的正确方法是什么?

到目前为止,我尝试过:

从文件编写器中删除声明。Json(在“require”部分) 从app.php文件中删除任何类别名 从我的代码中删除对包的任何引用:-) 运行编写器更新 运行composer dump-autoload

这些方法都不管用!我错过了什么?


当前回答

运行

Composer remove package/name
Php artisan optimize

例如“Composer remove mckenziearts/ Laravel -notify”在使用Laravel 8时为我工作。

其他回答

通常使用这样的composer remove就足够了:

composer remove vendor/package

但是如果一个Composer包被删除了,而“配置”缓存没有被清理,你就不能清理它。当你这样尝试的时候

php artisan config:clear

在ProviderRepository.php第208行,你会得到一个错误:

类“Laracasts\Flash\FlashServiceProvider”未找到

这是一个死胡同,除非你删除文件:

rm bootstrap/cache/config.php

我说的是Laravel 5.6,不是什么很老的东西。

这通常发生在自动部署时,当您将新版本的文件复制到旧缓存之上时。即使你在复制之前清空了缓存。你最终会得到一个旧的缓存和一个新的作曲器。json文件。

只要在终端中输入以下命令,就可以删除任何包,并删除安装包时提供的提供程序和别名(如果有的话),并更新编写器。

composer remove vendor/your_package_name
composer update

你可以做以下两种方法中的任何一种:

运行以下命令(在不更新其他包的情况下删除包的最推荐方法) $ composer删除供应商/包 去找你的作曲家。Json文件,然后运行如下命令,它将删除你的包(但它也会更新你的其他包) $ composer更新

有两个解。

第一个

使用作曲家删除。

composer remove *your_package_name*

第二个

从编写器中删除require中的行。Json,然后运行update

composer update

删除后,建议运行以下两个命令。

php artisan cache:clear
php artisan config:clear

Use:

composer remove vendor/package

这是一个例子:

安装或添加包

composer require firebear/importexportfree

卸载/移除

composer remove firebear/importexportfree

最后去除后:

php -f bin/magento setup:upgrade

php bin/magento setup:static-content:deploy –f

php bin/magento indexer:reindex

php -f bin/magento cache:clean