如何使用composer从Laravel中删除包?

问题描述 投票:297回答:12

从Laravel 4中删除包的正确方法是什么?我试过这么久了:

  1. composer.json删除声明(在“require”部分)
  2. app.php删除任何类别名
  3. 从我的代码中删除对包的任何引用:-)
  4. 运行composer update
  5. 运行composer dump-autoload

不工作!我错过了什么吗?

一些软件包通过“artisan config:publish ...”发布其配置。有没有办法“取消发布”他们?

laravel-4 package composer-php uninstall
12个回答
466
投票

运行以下命令将从供应商(或安装软件包的任何位置),composer.json和composer.lock中删除软件包。适当更改供应商/包裹。

composer remove vendor/package

显然,您需要删除应用中对该包的引用。

我目前正在运行以下版本的composer:

Composer version 1.0-dev (7b13507dd4d3b93578af7d83fbf8be0ca686f4b5) 2014-12-11 21:52:29

7
投票

如果给定的答案仍无法帮助您删除它,请尝试以下方法:

  • require手动删除composer.json中的行
  • 运行composer update

4
投票

谢谢我找到了正确的删除包的格式

句法: 作曲家删除包 例: 作曲家删除laravel / tinker


3
投票

使用composer命令删除包

composer remove <package>

使用composer命令安装软件包

composer require <package>

安装composer.json中提到的所有包

composer install

要更新包

composer update

我将这些用于Laravel项目


158
投票

搞定了......从Laravel中删除包的步骤是:

  1. 从composer.json中删除声明(在“require”部分中)
  2. 从“app / config / app.php”中删除服务提供者(在“providers”数组中引用)
  3. 从“app / config / app.php”中删除任何类别名
  4. 从您的代码中删除对包的任何引用:-)
  5. 运行“composer update vendor / package-name”。这将从“vendor”文件夹中删除包文件夹,并将重建composer autoloading map。
  6. 手动删除已发布的文件(阅读zwacky的评论)

它将从“Vendor”文件夹中删除包文件夹


36
投票

运行以下命令

composer remove Vendor/Package Name

就这样。不需要作曲家更新。供应商/包名称只是之前安装的目录


32
投票

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

composer remove vendor/your_package_name
composer update

32
投票

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

$ composer remove vendor/package

但是如果删除了composer包并且没有清理配置缓存,那么当你尝试这样的时候就无法清理它

php artisan config:clear

你可以得到一个错误In ProviderRepository.php line 208:

找不到“Laracasts \ Flash \ FlashServiceProvider”类

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

$rm bootstrap/cache/config.php

这是我所说的Laravel 5.6,而不是某种非常古老的东西。

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


17
投票

您可以执行以下两种方法中的任何一种:

  1. 运行以下命令(最常推荐的方法是在不更新其他软件包的情况下删除软件包) $ composer remove vendor/package
  2. 转到你的composer.json文件,然后运行如下命令它将删除你的包(但它也将更新你的其他包) $ composer update

12
投票

在从composer.json声明中删除包之前,请删除缓存

php artisan cache:clear  
php artisan config:clear 

如果您忘记删除缓存并且未找到类错误,请重新安装软件包并清除缓存并再次删除。


11
投票

如果在完成上述所有步骤后仍然出现错误,请转到项目bootstrap->cache->config.php手动从缓存的数组中删除提供程序和别名条目。


10
投票

**

使用“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
© www.soinside.com 2019 - 2024. All rights reserved.