使用PHP Composer从Laravel中删除包的正确方法是什么?
到目前为止,我尝试过:
从文件编写器中删除声明。Json(在“require”部分) 从app.php文件中删除任何类别名 从我的代码中删除对包的任何引用:-) 运行编写器更新 运行composer dump-autoload
这些方法都不管用!我错过了什么?
使用PHP Composer从Laravel中删除包的正确方法是什么?
到目前为止,我尝试过:
从文件编写器中删除声明。Json(在“require”部分) 从app.php文件中删除任何类别名 从我的代码中删除对包的任何引用:-) 运行编写器更新 运行composer dump-autoload
这些方法都不管用!我错过了什么?
当前回答
有两个解。
第一个
使用作曲家删除。
composer remove *your_package_name*
第二个
从编写器中删除require中的行。Json,然后运行update
composer update
删除后,建议运行以下两个命令。
php artisan cache:clear
php artisan config:clear
其他回答
通常使用这样的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.json中的require行 运行编写器更新
这里有很多步骤:
转到文件编写器。Json,然后看看这个包是怎么写的。
例如
“要求”: (twig/twig)
我希望移除3.0的树枝
现在打开cmd并运行composer remove vendor/your_package_name as composer remove twig/twig将删除包。 作为最后一步,运行composer update。这肯定会提示您没有需要安装或更新的东西,但如果您的包有相互依赖关系,这是很重要的。
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
运行
Composer remove package/name
Php artisan optimize
例如“Composer remove mckenziearts/ Laravel -notify”在使用Laravel 8时为我工作。