从Laravel 4中删除软件包的正确方法是什么? 我试过这么久:
composer.json
删除声明(在“要求”部分中)app.php
composer update
composer dump-autoload
不工作!我错过了什么吗?
某些软件包通过“artisan config:publish ...”发布其配置。有没有办法“取消发布”他们?
答案 0 :(得分:450)
运行以下命令将从供应商(或安装软件包的任何位置),composer.json和composer.lock中删除软件包。适当更改供应商/包裹。
composer remove vendor/package
显然,您需要删除应用中对该软件包的引用。
我目前正在运行以下版本的作曲家:
Composer version 1.0-dev (7b13507dd4d3b93578af7d83fbf8be0ca686f4b5) 2014-12-11 21:52:29
答案 1 :(得分:158)
搞定了......从Laravel中删除软件包的步骤是:
它将从“Vendor”文件夹中删除包文件夹
答案 2 :(得分:35)
运行以下命令
composer remove Vendor/Package Name
多数民众赞成。不需要作曲家更新。 供应商/包名称只是
之前安装的目录答案 3 :(得分:32)
只需在终端输入follwing命令即可删除任何包,只需删除安装包时提供的提供程序和别名(如果有)并更新作曲家,
composer remove vendor/your_package_name
composer update
答案 4 :(得分:30)
通常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。
答案 5 :(得分:17)
您可以执行以下两种方法中的任何一种:
运行以下命令(最常推荐的方法是在不更新其他软件包的情况下删除软件包)
$ composer remove vendor/package
转到你的composer.json文件,然后运行如下命令将删除你的包(但它也会更新你的其他包)
$ composer update
答案 6 :(得分:12)
在从composer.json声明中删除包之前,请删除缓存
php artisan cache:clear
php artisan config:clear
如果您忘记删除缓存并且找不到类错误,请重新安装软件包并清除缓存并再次删除。
答案 7 :(得分:11)
如果在完成上述所有步骤后仍然出现错误,请转到您的项目bootstrap->cache->config.php
删除提供商&手动为缓存数组中的条目添加别名。
答案 8 :(得分:8)
**
使用“ composer删除供应商/软件包”
** 这是示例: 安装/添加包装
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
答案 9 :(得分:7)
如果给定的答案仍然无法帮助您删除,请尝试以下操作:
从require
composer.json
中的行
运行composer update
答案 10 :(得分:7)
您可以通过在终端中键入以下命令来删除任何软件包,只需删除在安装软件包时提供的提供程序和别名并更新作曲家
composer remove <package_name>
composer update
答案 11 :(得分:4)
语法:
composer删除程序包
示例:
composer删除 laravel / tinker
答案 12 :(得分:4)
使用
删除软件包composer remove vendorname/packagename
您可以检查remove package from composer.json - docs
或者您可以从composer.json
文件中删除程序包名称,然后在项目目录中运行composer update
。希望对您有所帮助。
答案 13 :(得分:3)
我们提供了一个很好的解决方案。该解决方案实际上是在Laravel 6中完成的。如果要从Laravel项目中删除任何软件包,则可以按照以下步骤轻松地删除软件包:
步骤1:,您必须知道要删除的软件包名称。如果您不知道完整的软件包名称,则可以打开项目文件夹,然后转到 composer.json
文件,然后在需要数组的位置检查名称
"require": {
"php": "^7.2",
"fideloper/proxy": "^4.0",
"laravel/framework": "^6.2",
"laravel/passport": "^8.3",
"laravel/tinker": "^2.0"
},
假设,这里我要删除“ fideloper / proxy”软件包。
步骤2 :使用项目根文件夹目录打开命令提示符 步骤3:首先,通过以下命令清除所有缓存。逐个运行命令。
php artisan cache:clear
php artisan config:clear
步骤4:现在,编写以下命令以删除软件包。在这里,您需要更改软件包名称,而不是我的示例软件包。
composer remove fideloper/proxy
现在,请等待几秒钟,以删除您的包裹。
答案 14 :(得分:2)
使用composer命令删除软件包
composer remove <package>
要使用composer命令安装软件包
composer require <package>
要安装composer.json中提到的所有软件包
composer install
更新软件包
composer update
我将这些用于Laravel项目
答案 15 :(得分:2)
composer remove **your-package-name**
php artisan cache:clear
php artisan config:clear
答案 16 :(得分:2)
在 Laravel 8.* 上,以下步骤对我有用:
在终端上运行命令 composer remove package-name
从文件 Config/app.php
中删除Provider
和 aliases
从 Config 文件夹中删除相关文件。
从您使用它的代码中删除它。
答案 17 :(得分:0)
这里有很多步骤:
{“要求”:{ “ twig / twig”:“ ^ 3.0”}}
我希望删除树枝3.0
现在打开cmd并以System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
System.Net.Sockets.SocketException:
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
System.IO.IOException:
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.Pro
...
System.Net.WebException:
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
的身份运行composer remove vendor/your_package_name
,这将删除程序包。
作为最后一步,composer remove twig/twig
肯定会给您带来composer update
的消息,但这对于您的程序包具有相互依赖关系非常重要。
答案 18 :(得分:0)
要添加包,命令如下:
composer require spatie/laravel-permission
要删除软件包,命令如下:
composer remove spatie/laravel-permission