Open JasonWeakley opened 3 years ago
What happens if you run composer clearcache
(or similar to clear the composer cache) and try again?
I am seeing this same issue while working on a fresh MediaWiki-Vagrant install. Running composer clearcache
did make the v1.4.1 package download again, but it does not seem to include the expected file.
$ unzip -l caf9a7d0b6830ef3f8e1e1f8835bc0a4c595d44f.zip
Archive: caf9a7d0b6830ef3f8e1e1f8835bc0a4c595d44f.zip
81c6ac72a24a67383419c7eb9aa2b3437f2ab100
Length Date Time Name
--------- ---------- ----- ----
0 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/
1095 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/LICENSE
9082 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/README.md
1400 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/composer.json
0 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/
2348 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Logger.php
0 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Merge/
19452 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Merge/ExtraPackage.php
411 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Merge/MissingFileException.php
4100 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Merge/NestedArray.php
9827 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Merge/PluginState.php
5169 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/Merge/StabilityFlags.php
13161 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/MergePlugin.php
--------- -------
66045 13 files
but it does not seem to include the expected file.
13161 2017-04-25 02:31 wikimedia-composer-merge-plugin-81c6ac7/src/MergePlugin.php
The file is there in the zip archive. Not sure why my eyes did not see that. Also not sure why composer does not see it at this point.
My failures are with Composer version 1.10.19 2020-12-04 09:14:16
. This really feels like a regression on the composer side somehow. Our v1.4.1 tag has not changed since April 2017.
@reedy made a guess in a discussion on IRC that this may have something to do with the length of the path to the file. I have done some experiments in my failing MediaWiki-Vagrant's Virtualbox VM to see if I can prove or disprove that.
I am actually seeing everything working fine regardless of the directory depth or path length as long as the target directory is NOT on a share mounted from the host os. composer install
works exactly as expected with composer 1.10.19 if I do the work in /tmp/vagrant/mediawiki
which is on the Virtualbox VM's root partition. The failure happens when I try the exact same operations with the exact same composer.json file and package cache state in the /vagrant/mediawiki
directory which is a vboxsf share from my host computer (MacOS 10.15.7) mounted at /vagrant in the Virtualbox VM.
The failure happens when I try the exact same operations with the exact same composer.json file and package cache state in the
/vagrant/mediawiki
directory which is a vboxsf share from my host computer (MacOS 10.15.7) mounted at /vagrant in the Virtualbox VM.
I think I can confirm that this bug, at least in my reproduction case, is related to Virtualbox's vboxsf shared directory system. In MediaWiki-Vagrant you can switch to using NFS for sharing rather than Virtualbox's native shares with the commands vagrant config nfs_shares yes; vagrant halt; vagrant up
. After doing this and verifying from inside the VM that /vagrant is an NFS mount I can no longer recreate the plugin installation failure. Instead composer install
works exactly as expected.
I am running geerlingguy's Drupal Vagrant VM, with Drupal 9, and Composer 1.10.17 2020-10-30 22:31:58
When I try to install this plugin I get the following:
Using version ^1.4 for wikimedia/composer-merge-plugin ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals
Installation failed, reverting ./composer.json to its original content.
[RuntimeException] Could not delete /var/www/drupalvm/drupal/vendor/wikimedia/composer-merge-plugin/src/Merge:
I've looked in the src directory and neither the MergePlugin.php or the Logger.php files are there, after repeated attempts.