magento2: bin/magento module:uninstall never completes
I’ve tested this on a fresh 2.0.2 installation.
I installed a sample module of mine using composer and then afterwards ran bin/magento module:uninstall Smartie_SampleModule
This is the output;
Enabling maintenance mode
You are about to remove a module(s) that might have database data. Remove the database data manually after uninstalling, if desired.
Removing Smartie_SampleModule from module registry in database
Removing Smartie_SampleModule from module list in deployment configuration
Removing code from Magento codebase:
This is where it gets stuck. The module is removed from the composer.json file but it never gets removed from the vendor dir.
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 42 (7 by maintainers)
Commits related to this issue
- Merge pull request #3544 from magento-panda/MAGETWO-97161 Fixed issues: - MAGETWO-97161 Static tests failed on mainline (2.3-develop) — committed to magento/magento2 by igrybkov 6 years ago
- Added a check if auth.json exists. When auth.json is not found, an FileNotFoundException is thrown. This is to fix issue https://github.com/magento/magento2/issues/3544 This will prevent workarounds l... — committed to tschallacka/magento2 by tschallacka 3 years ago
This should be reopened as it persists in 2.1.4. The workaround is Control-C on the command when it hangs at removing code, then run composer update, however this is not a solution. The module:uninstall should work properly otherwise why even have it?
So sick of issues like this in magento, I have a notepad filled with workarounds on things that should just work. Test your f’ing code better before releasing it. I’m starting to think CE is just a public beta for their money grab EE. About to recommend a different platform to all my clients. Fed up.
@andrew-smart : have you added any repositories to composer.json? I’ve seen this too, and my theory is that
module:uninstalltriggerscomposer updatein another thread (or otherwise hides the output). Thus when composer prompts for credentials to our custom repo, it blocks, waiting on username and password from standard in, which magento never provides. An untested theory at this point; I don’t really know what it does under the covers.The solution is to run :
composer updatein an other consoleWell technically it isn’t a problem.
I documented my research here: https://blog.tschallacka.de/2021/05/binmagento-moduleuninstall-never.html and technically this isn’t a bug. It’s listed un the pre-requisites that you need to create an auth.json
https://devdocs.magento.com/guides/v2.4/install-gde/prereq/dev_install.html#authentication-file
So if you get this error, you basically skipped a step from he documentation. They could do adding an error message though. I made a pull request for that here https://github.com/magento/magento2/pull/32955
Hi all,
Thanks to @paulerickson and @Dayssam. Their debugging helped me fix this.
I found a solution or maybe a solution with limited scope. The following is my scenario.
Now here is my solution to Uninstall command issue
In my
auth.jsonfile, I added another object for my module’s git repo and added the credentials just like we do forrepo.magento.com. So, myauth.jsonfile looks like the following now.After setting it I ran
php bin/magento module:uninstall Vendor_ModuleNamecommand and it ran successfully with the following output.Maybe it helps some of you people.
Composer stoped in load data from repo.magento.com
My auth.json was not correct. This decision helped me
config http-basic.repo.magento.com <public_key> <private_key>https://magento.stackexchange.com/questions/90983/how-to-use-the-new-repo-magento-comHi everyone
@paulerickson As you said , your theory is wright, it demand in background to enter your GitHub credentials to access private repos
This is what i get when i run the uninstall command line
Using M2.4.5-p1 and still hanging on “Removing code from Magento codebase:”
I added auth.json file, but still stuck in Removing code from Magento codebase. my Magento is version 2.4.3.
@Dayssam , yes, that solution works if you canceled the
module:uninstallcommand previously.