How can I remove a package from Laravel using PHP Composer?
Solution 1:
Composer 1.x and 2.x
Running the following command will remove the package from vendor (or wherever you install packages), composer.json and composer.lock. Change vendor/package appropriately.
composer remove vendor/package
Obviously you'll need to remove references to that package within your app.
I'm currently running the following version of Composer:
Composer version 1.0-dev (7b13507dd4d3b93578af7d83fbf8be0ca686f4b5) 2014-12-11 21:52:29
Documentation
https://getcomposer.org/doc/03-cli.md#remove
Updates
- 26/10/2020 - Updated answer to assert command works for v1.x and v2.x of Composer
Solution 2:
I got it working... The steps to remove a package from Laravel are:
- Remove the declaration from file composer.json (in the "require" section)
- **Remove Service Provider from file config/app.php (reference in the "providers" array)
- Remove any class aliases from file config/app.php
- Remove any references to the package from your code :-)
- Run
composer update vendor/package-name
. This will remove the package folder from thevendor
folder and will rebuild the Composer autoloading map. - Manually delete the published files (read the comment by zwacky)
It will remove the package folder from the Vendor
folder.
Solution 3:
Run the following command:
composer remove Vendor/Package Name
That's all. There isn't any need to update Composer. The Vendor/Package Name is just a directory as installed before.