Homestead: Composer plugin installation failed

Created on 17 Jul 2019  ยท  74Comments  ยท  Source: laravel/homestead

Versions

  • Vagrant: Just installed
  • Provider: Virtualbox
  • Homestead: You should be on the most recent release branch.

Host operating system

Tested on both Window and Mac.

Homestead.yaml

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ../symfony4
      to: /home/vagrant/code

sites:
    - map: symfony4.test
      to: /home/vagrant/code/public

databases:
    - homestead

features:
    - mariadb: false
    - ohmyzsh: false
    - webdriver: false

Expected behavior

No error during composer install

Actual behavior

image

Steps to reproduce

This is the repo to reproduce the bug:
https://github.com/ak3l/Cours_Symfony4/tree/bug

Instead following the actual README, do composer install without --no-plugins --no-scripts to get the error.

When I run composer install -vv, I get

 - Installing ocramius/package-versions (1.4.0): Reading /home/vagrant/.composer/cache/files/ocramius/package-versions/9015316288b55423c693c083934dccb5ab72981d.zip from cache
Loading from cache
 Extracting archiveExecuting command (CWD): unzip -qq  '/home/vagrant/code/vendor/ocramius/package-versions/200f6a66a0865848df9170ec0fd15921' -d '/home/vagrant/code/vendor/composer/f1785882'
Plugin installation failed, rolling back
Provider Bug Validated Bug VirtualBox Bug

Most helpful comment

I made it work with the option "--prefer-source" of composer install. It took a longer time but the installation worked.

All 74 comments

Please post a full log in a gist of vagrant destroy && vagrant up

--

  • Joe Ferguson
    JoeFerguson.me
    osmihelp.org
    On Jul 16, 2019, 18:27 -0500, Vincent Langlet notifications@github.com, wrote:

Versions

โ€ข Vagrant: Just installed
โ€ข Provider: Virtualbox
โ€ข Homestead: You should be on the most recent release branch.

Host operating system
Tested on both Window and Mac.

Homestead.yaml

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:

  • ~/.ssh/id_rsa

folders:

  • map: ../symfony4
    to: /home/vagrant/code

sites:

  • map: symfony4.test
    to: /home/vagrant/code/public

databases:

  • homestead

features:

  • mariadb: false
  • ohmyzsh: false
  • webdriver: false
    Expected behavior
    No error during composer install
    Actual behavior
    Steps to reproduce
    This is the repo to reproduce the bug:
    https://github.com/ak3l/Cours_Symfony4/tree/bug
    Instead following the actual README, do composer install without --no-plugins --no-scripts to get the error.
    When I run composer install -vv, I get

    • Installing ocramius/package-versions (1.4.0): Reading /home/vagrant/.composer/cache/files/ocramius/package-versions/9015316288b55423c693c083934dccb5ab72981d.zip from cache

      Loading from cache

      Extracting archiveExecuting command (CWD): unzip -qq '/home/vagrant/code/vendor/ocramius/package-versions/200f6a66a0865848df9170ec0fd15921' -d '/home/vagrant/code/vendor/composer/f1785882'

      Plugin installation failed, rolling back

      โ€”

      You are receiving this because you are subscribed to this thread.

      Reply to this email directly, view it on GitHub, or mute the thread.

@VincentLanglet

Log looks good. I

think we've stumbled onto a bug, but it's not Homestead. I'm also not sure if it's Macro's package (ocramius/package-versions) or if it's an upstream bug in Composer. I'm not intentionally tagging him in this convo yet because I believe the real bug that Homestead might be able to resolve this and some other issues I think are related to Virtualbox. I'm not sure if it's Virtualbox on a specific host OS, but I'm able to easily replicate it on my daily driver MacOS system so I'm going to keep debugging down this path.

I'm not able to exactly replicate what you're seeing, but when running composer install on your project's symfony4 repo I can confirm odd errors. Testing the specific package (ocramius/package-versions) with a fresh Laravel install I'm seeing this:

[UnexpectedValueException]
  Plugin ocramius/package-versions could not be initialized, class not found: PackageVersions\Installer

Due to the previous issue:

Extracting archiveExecuting command (CWD): unzip -vvv  '/Users/halo/Code/Cours_Symfony4/symfony4/vendor/ocramius/package-versions/811721dfca1c665ca0b903337a20b474' -d '/Users/halo/Code/Cours_Symfony4/symfony4/vendor/composer/98742ed8'

Now the output of that above command unzip -vvv ... is caution: not extracting; -d ignored. Which according to the output of command being run manually is

unzip: cannot find or open /home/vagrant/symfony/vendor/ocramius/package-versions/df4c297f9ce54102c0ab3e9b34b81f60, /home/vagrant/symfony/vendor/ocramius/package-versions/df4c297f9ce54102c0ab3e9b34b81f60.zip or /home/vagrant/symfony/vendor/ocramius/package-versions/df4c297f9ce54102c0ab3e9b34b81f60.ZIP.

I'm pretty far down this rabbit hole, and may be a bit.

@svpernova09
Both my friend (on Window) and me (on Mac) get this error when doing

git clone [email protected]:ak3l/Cours_Symfony4.git
cd Cours_Symfony4/Homestead
vagrant up
vagrant ssh
cd code
composer install

Someone else got your problem https://github.com/Ocramius/PackageVersions/issues/97 and ocramius said it was a homestead issue.

Plugin ocramius/package-versions could not be initialized, class not found: PackageVersions\Installer

FYI in information I also tried to run

unzip -qq  '/home/vagrant/code/vendor/ocramius/package-versions/200f6a66a0865848df9170ec0fd15921' -d '/home/vagrant/code/vendor/composer/f1785882'

And I got the same error.

I hope it can help

@VincentLanglet ,
There's a lot "shared folder fixes" on VirtualBox 6.0.10 (https://www.virtualbox.org/wiki/Changelog)
Maybe thats the problem.

@irineujunior / @VincentLanglet

There's a lot "shared folder fixes" on VirtualBox 6.0.10 (https://www.virtualbox.org/wiki/Changelog)
Maybe thats the problem.

I've upgraded to Virtualbox Version 6.0.10 r132072 (and extensions which is the key part we're debugging here because those control folder sharing) and the issue remains for me:

Package operations: 104 installs, 0 updates, 0 removals
  - Installing ocramius/package-versions (1.4.0): Loading from cache
Plugin installation failed, rolling back
  - Removing ocramius/package-versions (1.4.0)


  [RuntimeException]
  Could not delete /home/vagrant/symfony/vendor/ocramius/package-versions/src/PackageVersion

I've got some customized Composer that I'm using to help debug and I still think this is a Virtualbox folder sharing issue. I destroyed the machine and still get the error on a fresh vagrant up. I need to test Parallels, VMware, Hyper-V to see if they can install the ocramius/package-versions package and my suspicions if this is really a Virtualbox issue those providers shouldn't have an issue.

Confirmed via Parallels this is a Virtualbox bug. Next debugging step would be to roll back to pre 6.0.8 versions (While staying on 6.x I believe is key) to see if a version doesn't have the issue. Alternatively I'm can kick off a box build using Virtualbox 6.0.10 to see if that has any impact, however the concern would be if the Packer templates are using this newer version yet (or if I can force it to).

Parallels log showing no errors:

โ”Œโ”€(~/Code/homestead)(master S:2)โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ””โ”€(1)โ”€ vagrant destroy -f && vagrant up                                                                                                                    โ”€(09:09:29)(07/18/19)โ”€โ”˜
==> homestead: Destroying VM and associated drives...
==> homestead: Destroying unused networking interface...
Bringing machine 'homestead' up with 'parallels' provider...
==> homestead: Registering VM image from the base box 'laravel/homestead'...
==> homestead: Creating new virtual machine as a linked clone of the box image...
==> homestead: Unregistering the box VM image...
==> homestead: Setting the default configuration for VM...
==> homestead: Checking if box 'laravel/homestead' version '8.0.0' is up to date...
==> homestead: Setting the name of the VM: homestead
==> homestead: Preparing network interfaces based on configuration...
    homestead: Adapter 0: shared
    homestead: Adapter 1: hostonly
==> homestead: Clearing any previously set network interfaces...
==> homestead: Forwarding ports...
    homestead: 80 => 8000
    homestead: 443 => 44300
    homestead: 3306 => 33060
    homestead: 4040 => 4040
    homestead: 5432 => 54320
    homestead: 8025 => 8025
    homestead: 9600 => 9600
    homestead: 27017 => 27017
==> homestead: Running 'pre-boot' VM customizations...
==> homestead: Booting VM...
==> homestead: Waiting for machine to boot. This may take a few minutes...
    homestead: SSH address: 10.211.55.12:22
    homestead: SSH username: vagrant
    homestead: SSH auth method: private key
    homestead: Warning: Connection refused. Retrying...
    homestead:
    homestead: Vagrant insecure key detected. Vagrant will automatically replace
    homestead: this with a newly generated keypair for better security.
    homestead:
    homestead: Inserting generated public key within guest...
    homestead: Removing insecure key from the guest if it's present...
    homestead: Key inserted! Disconnecting and reconnecting using new SSH key...
==> homestead: Machine booted and ready!
==> homestead: Checking for Parallels Tools installed on the VM...
==> homestead: Setting hostname...
==> homestead: Configuring and enabling network interfaces...
==> homestead: Mounting shared folders...
    homestead: /vagrant => /Users/halo/Code/homestead
    homestead: /home/vagrant/qs => /Users/halo/Code/quickstart-5.7
    homestead: /home/vagrant/fresh => /Users/halo/Code/fresh-laravel
    homestead: /home/vagrant/symfony => /Users/halo/Code/Cours_Symfony4/symfony4
    homestead: /home/vagrant/composer => /Users/halo/Code/composer
==> homestead: Running provisioner: file...
    homestead: /Users/halo/Code/homestead/aliases => /tmp/bash_aliases
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
    homestead:
    homestead: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBeub1sTnpX7Tp7f0ukLAz7dMn7CS9w6eHmc1wtJNp/iXHzyBRKZ+ov8z+voCVJOrSDyTsG0IKcby8+UxwpzR2nyqiBPw+oaSD1elIHFS48h7Wd5f41S6QeHUlhac20fa5EHTnNw9jphtxDuYPa+xiaNdbdvJKC1jZuipsqc4qlcDC1LISOtIsAzMF1fnByWEe3JBvRxvCmegruu424chIGG23elIoBHsOvY/6BI+5G2BNSBvqzHxfQ2mK6j4tEj2K2s+4M3r4FrgZIYgHxxZtADdNGwditFu5ipfaQSc1n5YFQiI87iTO5OZCBdffMY3qQWaE3ne+hAVDSdJLWFDn halo@mobile-rage-work
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-v0ij4b.sh
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-1lqp4hv.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Certificate: homestead.test
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Site: homestead.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-m2nhh1.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Certificate: fresh.test
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Site: fresh.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-168lref.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Certificate: symfony.test
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Site: symfony.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-1muttkg.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: shell...
    homestead: Running: script: Clear Variables
==> homestead: Running provisioner: shell...
    homestead: Running: script: Restarting Cron
==> homestead: Running provisioner: shell...
    homestead: Running: script: Restarting Nginx
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating MySQL Database: homestead
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Postgres Database: homestead
==> homestead: Running provisioner: shell...
    homestead: Running: script: Update Composer
    homestead: You are already using composer version 1.8.6 (stable channel).
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-1v6sxs6.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Update motd
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190718-35645-jk5xfx.sh
vagrant destroy -f && vagrant up: 01:42

โ”Œโ”€(~/Code/homestead)(master S:2)โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ””โ”€โ”€ vagrant ssh                                                                                                                                            โ”€(09:13:40)(07/18/19)โ”€โ”˜
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-54-generic x86_64)

Thanks for using
 _                               _                 _
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|

* Homestead v9.0.0 released
* Settler v8.0.0 released

0 packages can be updated.
0 updates are security updates.


vagrant@homestead:~$ cd symfony/
vagrant@homestead:~/symfony$ rm -rf vendor/
vagrant@homestead:~/symfony$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
    1/93:   https://codeload.github.com/symfony/test-pack/legacy.zip/ff87e800a67d06c423389f77b8209bc9dc469def
    2/93:   https://codeload.github.com/symfony/debug-pack/legacy.zip/09a4a1e9bf2465987d4f79db0ad6c11cc632bc79
    3/93:   https://codeload.github.com/symfony/browser-kit/legacy.zip/a29dd02a1f3f81b9a15c7730cc3226718ddb55ca
    4/93:   https://codeload.github.com/EasyCorp/easy-log-handler/legacy.zip/5f95717248d20684f88cfb878d8bf3d78aadcbba
    5/93:   https://codeload.github.com/symfony/web-server-bundle/legacy.zip/a5391b6a4ac78d518dd3f0ee5f40bcc9a7ee6fe7
    6/93:   https://codeload.github.com/symfony/debug-bundle/legacy.zip/233e3f0da169a0b6447e873cc02cedc0791325f6
    7/93:   https://codeload.github.com/symfony/css-selector/legacy.zip/105c98bb0c5d8635bea056135304bd8edcc42b4d
    8/93:   https://codeload.github.com/symfony/phpunit-bridge/legacy.zip/573b5c4a36a171b94cf031d8dc6cc568082190f1
    9/93:   https://codeload.github.com/symfony/dom-crawler/legacy.zip/291397232a2eefb3347eaab9170409981eaad0e2
    10/93:  https://codeload.github.com/symfony/yaml/legacy.zip/c60ecf5ba842324433b46f58dc7afc4487dbab99
    11/93:  https://codeload.github.com/symfony/maker-bundle/legacy.zip/201d0e050dca336c44f93657ce1f34f3b3868432
    12/93:  https://codeload.github.com/symfony/web-link/legacy.zip/af0e386322f192ed50bd9c812daedce05368733c
    13/93:  https://codeload.github.com/php-fig/link-util/legacy.zip/1a07821801a148be4add11ab0603e4af55a72fac
    14/93:  https://codeload.github.com/symfony/monolog-bundle/legacy.zip/7fbecb371c1c614642c93c6b2cbcdf723ae8809d
    15/93:  https://codeload.github.com/symfony/profiler-pack/legacy.zip/99c4370632c2a59bb0444852f92140074ef02209
    16/93:  https://codeload.github.com/php-fig/link/legacy.zip/eea8e8662d5cd3ae4517c9b864493f59fca95562
    17/93:  https://codeload.github.com/symfony/web-profiler-bundle/legacy.zip/ca3a3c8558bc641df7c8c2c546381ccd78d0777a
    18/93:  https://codeload.github.com/symfony/twig-bundle/legacy.zip/fd97f3b8e25447241dac7240f22f2c7ca2b69721
    19/93:  https://codeload.github.com/symfony/var-dumper/legacy.zip/45d6ef73671995aca565a1aa3d9a432a3ea63f91
    21/93:  https://codeload.github.com/nikic/PHP-Parser/legacy.zip/1bd73cc04c3843ad8d6b0bfc0956026a151fc420
    21/93:  https://codeload.github.com/symfony/serializer-pack/legacy.zip/c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2
    22/93:  https://codeload.github.com/symfony/twig-bridge/legacy.zip/2931facf91f198018b88371de996b6075f6b33f9
    23/93:  https://codeload.github.com/phpDocumentor/ReflectionDocBlock/legacy.zip/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c
    24/93:  https://codeload.github.com/symfony/swiftmailer-bundle/legacy.zip/cb125b3648f132fb8070b55393f20cb310907d3b
    25/93:  https://codeload.github.com/webmozart/assert/legacy.zip/83e253c8e0be5b0257b881e1827274667c5c17a9
    26/93:  https://codeload.github.com/symfony/property-info/legacy.zip/5ce4d9d9c8a5dc84a3e0f793d75ef9b56e4c5f65
    27/93:  https://codeload.github.com/symfony/orm-pack/legacy.zip/36c2a928482dc5f05c5c1c1b947242ae03ff1335
    28/93:  https://codeload.github.com/twigphp/Twig/legacy.zip/699ed2342557c88789a15402de5eb834dedd6792
    29/93:  https://codeload.github.com/swiftmailer/swiftmailer/legacy.zip/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a
    30/93:  https://codeload.github.com/doctrine/DoctrineMigrationsBundle/legacy.zip/4c9579e0e43df1fb3f0ca29b9c20871c824fac71
    31/93:  https://codeload.github.com/symfony/security-core/legacy.zip/489f3a13362bf692df974f84367fba954b1d78a8
    32/93:  https://codeload.github.com/symfony/serializer/legacy.zip/bbf3b52653dae353259c1761cbb6f8f056dff03e
    33/93:  https://codeload.github.com/doctrine/DoctrineBundle/legacy.zip/28101e20776d8fa20a00b54947fbae2db0d09103
    34/93:  https://codeload.github.com/symfony/monolog-bridge/legacy.zip/86bef6627b8092d2cf7f2789c5784a060cbf4ac6
    35/93:  https://codeload.github.com/symfony/security-http/legacy.zip/8a93196dec0a136f817063c99eee20cd44e3615a
    36/93:  https://codeload.github.com/symfony/http-client-contracts/legacy.zip/e1924aea9c70ae3e69fff05afa3cb8ce541bf3bb
    37/93:  https://codeload.github.com/symfony/security-guard/legacy.zip/2177390e39f49e5ae0ac5765982fa32a4aeb536f
    38/93:  https://codeload.github.com/symfony/security-bundle/legacy.zip/fa545860b2f72fc3c9045d8700bfcca10a4518d4
    39/93:  https://codeload.github.com/symfony/polyfill-intl-icu/legacy.zip/999878a3a09d73cae157b0cf89bb6fb2cc073057
    40/93:  https://codeload.github.com/symfony/http-client/legacy.zip/e903ab079c99eab322fc5c71eb63fc467cd19a2a
    41/93:  https://codeload.github.com/Seldaek/monolog/legacy.zip/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266
    42/93:  https://codeload.github.com/symfony/inflector/legacy.zip/889dc28cb6350ddb302fe9b8c796e4e6eb836856
    43/93:  https://codeload.github.com/symfony/options-resolver/legacy.zip/40762ead607c8f792ee4516881369ffa553fee6f
    44/93:  https://codeload.github.com/symfony/expression-language/legacy.zip/0243ebde208e0cb401b37e8b8a70a7c6a0aa1d6d
    45/93:  https://codeload.github.com/symfony/dotenv/legacy.zip/c9ea2a1c60e7db08c1d1379cd4448fd14bda11eb
    46/93:  https://codeload.github.com/symfony/asset/legacy.zip/eecf6d6c952c2c80c9b4fa3ec089d222420f1569
    47/93:  https://codeload.github.com/symfony/property-access/legacy.zip/18ea48862a39e364927e71b9e4942af3c1a1cb8c
    48/93:  https://codeload.github.com/symfony/form/legacy.zip/1fdaa6aeac75bdb903a8fc69befd1f9e3d227895
    49/93:  https://codeload.github.com/symfony/flex/legacy.zip/4b5d25a5538e2dc37ff84645fe7498a9a04947b3
    50/93:  https://codeload.github.com/sensiolabs/SensioFrameworkExtraBundle/legacy.zip/585f4b3a1c54f24d1a8431c729fc8f5acca20c8a
    51/93:  https://codeload.github.com/symfony/validator/legacy.zip/ba2cb2ba24344e56a32b5284be988bc1faeac209
    52/93:  https://codeload.github.com/symfony/cache/legacy.zip/4acf343c9e3aea5a00d51926c01125441707635c
    53/93:  https://codeload.github.com/php-fig/cache/legacy.zip/d11b50ad223250cf17b86e38383413f5a6764bf8
    54/93:  https://codeload.github.com/symfony/security-csrf/legacy.zip/e7e3509ef7de66ea4970c75f9a0a72bf132d452e
    55/93:  https://codeload.github.com/symfony/cache-contracts/legacy.zip/ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db
    56/93:  https://codeload.github.com/symfony/var-exporter/legacy.zip/9dee83031dcf6dcb53bb7ec1c51de085329bf5cb
    57/93:  https://codeload.github.com/symfony/config/legacy.zip/9198eea354be75794a7b1064de00d9ae9ae5090f
    58/93:  https://codeload.github.com/symfony/debug/legacy.zip/d8f4fb38152e0eb6a433705e5f661d25b32c5fcd
    59/93:  https://codeload.github.com/php-fig/log/legacy.zip/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd
    60/93:  https://codeload.github.com/symfony/event-dispatcher-contracts/legacy.zip/c61766f4440ca687de1084a5c00b08e167a2575c
    61/93:  https://codeload.github.com/symfony/event-dispatcher/legacy.zip/d257021c1ab28d48d24a16de79dfab445ce93398
    62/93:  https://codeload.github.com/symfony/polyfill-intl-idn/legacy.zip/c766e95bec706cdd89903b1eda8afab7d7a6b7af
    63/93:  https://codeload.github.com/symfony/http-foundation/legacy.zip/e1b507fcfa4e87d192281774b5ecd4265370180d
    64/93:  https://codeload.github.com/doctrine/orm/legacy.zip/434820973cadf2da2d66e7184be370084cc32ca8
    65/93:  https://codeload.github.com/symfony/polyfill-php72/legacy.zip/ab50dcf166d5f577978419edd37aa2bb8eabce0c
    66/93:  https://codeload.github.com/phpDocumentor/TypeResolver/legacy.zip/9c977708995954784726e25d0cd1dddf4e65b0f7
    67/93:  https://codeload.github.com/phpDocumentor/ReflectionCommon/legacy.zip/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6
    68/93:  https://codeload.github.com/symfony/dependency-injection/legacy.zip/b851928be349c065197fdc0832f78d85139e3903
    69/93:  https://codeload.github.com/jdorn/sql-formatter/legacy.zip/64990d96e0959dff8e059dfcdc1af130728d92bc
    70/93:  https://codeload.github.com/symfony/mime/legacy.zip/ec2c5565de60e03f33d4296a655e3273f0ad1f8b
    71/93:  https://codeload.github.com/egulias/EmailValidator/legacy.zip/128cc721d771ec2c46ce59698f4ca42b73f71b25
    72/93:  https://codeload.github.com/symfony/framework-bundle/legacy.zip/5aab516cef8e3772d6f7daa3ab62cd38713aae08
    73/93:  https://codeload.github.com/symfony/stopwatch/legacy.zip/6b100e9309e8979cf1978ac1778eb155c1f7d93b
    74/93:  https://codeload.github.com/doctrine/dbal/legacy.zip/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9
    75/93:  https://codeload.github.com/symfony/intl/legacy.zip/ae61816fdc00809928bb45ebc5df593d7e0878ad
    76/93:  https://codeload.github.com/symfony/routing/legacy.zip/2ef809021d72071c611b218c47a3bf3b17b7325e
    77/93:  https://codeload.github.com/doctrine/migrations/legacy.zip/ebe6f891a4c61574f77fc4a06d913d29236b8466
    78/93:  https://codeload.github.com/doctrine/instantiator/legacy.zip/a2c590166b2133a4633738648b6b064edae0814a
    79/93:  https://codeload.github.com/zendframework/zend-code/legacy.zip/c21db169075c6ec4b342149f446e7b7b724f95eb
    80/93:  https://codeload.github.com/doctrine/DoctrineCacheBundle/legacy.zip/5514c90d9fb595e1095e6d66ebb98ce9ef049927
    81/93:  https://codeload.github.com/symfony/doctrine-bridge/legacy.zip/7142fd113adec343188e63e058bfbb4d3909a730
    82/93:  https://codeload.github.com/doctrine/common/legacy.zip/30e33f60f64deec87df728c02b107f82cdafad9d
    83/93:  https://codeload.github.com/doctrine/cache/legacy.zip/d768d58baee9a4862ca783840eca1b9add7a7f57
    84/93:  https://codeload.github.com/doctrine/collections/legacy.zip/c5e0bc17b1620e97c968ac409acbff28b8b850be
    85/93:  https://codeload.github.com/doctrine/persistence/legacy.zip/3da7c9d125591ca83944f477e65ed3d7b4617c48
    86/93:  https://codeload.github.com/doctrine/reflection/legacy.zip/02538d3f95e88eb397a5f86274deb2c6175c2ab6
    87/93:  https://codeload.github.com/doctrine/event-manager/legacy.zip/a520bc093a0170feeb6b14e9d83f3a14452e64b3
    88/93:  https://codeload.github.com/doctrine/annotations/legacy.zip/53120e0eb10355388d6ccbe462f1fea34ddadb24
    89/93:  https://codeload.github.com/symfony/http-kernel/legacy.zip/4150f71e27ed37a74700561b77e3dbd754cbb44d
    90/93:  https://codeload.github.com/doctrine/lexer/legacy.zip/1febd6c3ef84253d7c815bed85fc622ad207a9f8
    91/93:  https://codeload.github.com/Ocramius/ProxyManager/legacy.zip/14b137b06b0f911944132df9d51e445a35920ab1
    92/93:  https://codeload.github.com/Ocramius/PackageVersions/legacy.zip/a4d4b60d0e60da2487bd21a2c6ac089f85570dbb
    93/93:  https://codeload.github.com/zendframework/zend-eventmanager/legacy.zip/a5e2583a211f73604691586b8406ff7296a946dd
    Finished: success: 93, skipped: 0, failure: 0, total: 93
Package operations: 104 installs, 0 updates, 0 removals
  - Installing ocramius/package-versions (1.4.0): Loading from cache
  - Installing symfony/flex (v1.4.4): Loading from cache
  - Installing doctrine/lexer (1.0.2): Loading from cache
  - Installing doctrine/annotations (v1.6.1): Loading from cache
  - Installing doctrine/reflection (v1.0.0): Loading from cache
  - Installing doctrine/event-manager (v1.0.0): Loading from cache
  - Installing doctrine/collections (v1.6.2): Loading from cache
  - Installing doctrine/cache (v1.8.0): Loading from cache
  - Installing doctrine/persistence (1.1.1): Loading from cache
  - Installing doctrine/inflector (v1.3.0): Loading from cache
  - Installing doctrine/common (v2.10.0): Loading from cache
  - Installing psr/container (1.0.0): Loading from cache
  - Installing symfony/service-contracts (v1.1.5): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.11.0): Loading from cache
  - Installing symfony/doctrine-bridge (v4.3.2): Loading from cache
  - Installing doctrine/doctrine-cache-bundle (1.3.5): Loading from cache
  - Installing doctrine/instantiator (1.2.0): Loading from cache
  - Installing symfony/stopwatch (v4.3.2): Loading from cache
  - Installing symfony/polyfill-php73 (v1.11.0): Loading from cache
  - Installing symfony/console (v4.3.2): Loading from cache
  - Installing zendframework/zend-eventmanager (3.2.1): Loading from cache
  - Installing zendframework/zend-code (3.3.1): Loading from cache
  - Installing ocramius/proxy-manager (2.2.2): Loading from cache
  - Installing doctrine/dbal (v2.9.2): Loading from cache
  - Installing doctrine/migrations (v2.1.0): Loading from cache
  - Installing egulias/email-validator (2.1.9): Loading from cache
  - Installing jdorn/sql-formatter (v1.2.17): Loading from cache
  - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
  - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
  - Installing symfony/polyfill-php72 (v1.11.0): Loading from cache
  - Installing symfony/polyfill-intl-idn (v1.11.0): Loading from cache
  - Installing symfony/mime (v4.3.2): Loading from cache
  - Installing symfony/http-foundation (v4.3.2): Loading from cache
  - Installing symfony/event-dispatcher-contracts (v1.1.5): Loading from cache
  - Installing symfony/event-dispatcher (v4.3.2): Loading from cache
  - Installing psr/log (1.1.0): Loading from cache
  - Installing symfony/debug (v4.3.2): Loading from cache
  - Installing symfony/http-kernel (v4.3.2): Loading from cache
  - Installing symfony/routing (v4.3.2): Loading from cache
  - Installing symfony/finder (v4.3.2): Loading from cache
  - Installing symfony/filesystem (v4.3.2): Loading from cache
  - Installing symfony/dependency-injection (v4.3.2): Loading from cache
  - Installing symfony/config (v4.3.2): Loading from cache
  - Installing symfony/var-exporter (v4.3.2): Loading from cache
  - Installing psr/cache (1.0.1): Loading from cache
  - Installing symfony/cache-contracts (v1.1.5): Loading from cache
  - Installing symfony/cache (v4.3.2): Loading from cache
  - Installing symfony/framework-bundle (v4.3.2): Loading from cache
  - Installing sensio/framework-extra-bundle (v5.4.1): Loading from cache
  - Installing symfony/asset (v4.3.2): Loading from cache
  - Installing symfony/dotenv (v4.3.2): Loading from cache
  - Installing symfony/expression-language (v4.3.2): Loading from cache
  - Installing symfony/inflector (v4.3.2): Loading from cache
  - Installing symfony/property-access (v4.3.2): Loading from cache
  - Installing symfony/options-resolver (v4.3.2): Loading from cache
  - Installing symfony/intl (v4.3.2): Loading from cache
  - Installing symfony/polyfill-intl-icu (v1.11.0): Loading from cache
  - Installing symfony/form (v4.3.2): Loading from cache
  - Installing symfony/http-client-contracts (v1.1.5): Loading from cache
  - Installing symfony/http-client (v4.3.2): Loading from cache
  - Installing monolog/monolog (1.24.0): Loading from cache
  - Installing symfony/monolog-bridge (v4.3.2): Loading from cache
  - Installing doctrine/orm (v2.6.3): Loading from cache
  - Installing doctrine/doctrine-bundle (1.11.2): Loading from cache
  - Installing doctrine/doctrine-migrations-bundle (v2.0.0): Loading from cache
  - Installing symfony/orm-pack (v1.0.6): Loading from cache
  - Installing symfony/security-core (v4.3.2): Loading from cache
  - Installing symfony/security-http (v4.3.2): Loading from cache
  - Installing symfony/security-guard (v4.3.2): Loading from cache
  - Installing symfony/security-csrf (v4.3.2): Loading from cache
  - Installing symfony/security-bundle (v4.3.2): Loading from cache
  - Installing symfony/serializer (v4.3.2): Loading from cache
  - Installing symfony/property-info (v4.3.2): Loading from cache
  - Installing webmozart/assert (1.4.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (4.3.1): Loading from cache
  - Installing symfony/serializer-pack (v1.0.2): Loading from cache
  - Installing swiftmailer/swiftmailer (v6.2.1): Loading from cache
  - Installing symfony/swiftmailer-bundle (v3.2.8): Loading from cache
  - Installing symfony/translation-contracts (v1.1.5): Loading from cache
  - Installing symfony/translation (v4.3.2): Loading from cache
  - Installing twig/twig (v2.11.3): Loading from cache
  - Installing symfony/twig-bridge (v4.3.2): Loading from cache
  - Installing symfony/validator (v4.3.2): Loading from cache
  - Installing psr/link (1.0.0): Loading from cache
  - Installing fig/link-util (1.0.0): Loading from cache
  - Installing symfony/web-link (v4.3.2): Loading from cache
  - Installing symfony/yaml (v4.3.2): Loading from cache
  - Installing symfony/var-dumper (v4.3.2): Loading from cache
  - Installing symfony/twig-bundle (v4.3.2): Loading from cache
  - Installing symfony/web-profiler-bundle (v4.3.2): Loading from cache
  - Installing symfony/profiler-pack (v1.0.4): Loading from cache
  - Installing symfony/monolog-bundle (v3.4.0): Loading from cache
  - Installing symfony/debug-bundle (v4.3.2): Loading from cache
  - Installing easycorp/easy-log-handler (v1.0.7): Loading from cache
  - Installing symfony/debug-pack (v1.0.7): Loading from cache
  - Installing symfony/dom-crawler (v4.3.2): Loading from cache
  - Installing nikic/php-parser (v4.2.2): Loading from cache
  - Installing symfony/maker-bundle (v1.12.0): Loading from cache
  - Installing symfony/phpunit-bridge (v4.3.2): Loading from cache
  - Installing symfony/css-selector (v4.3.2): Loading from cache
  - Installing symfony/browser-kit (v4.3.2): Loading from cache
  - Installing symfony/test-pack (v1.0.6): Loading from cache
  - Installing symfony/process (v4.3.2): Loading from cache
  - Installing symfony/web-server-bundle (v4.3.2): Loading from cache
Generating autoload files
ocramius/package-versions:  Generating version class...
ocramius/package-versions: ...done generating version class
Executing script cache:clear [OK]
Executing script assets:install public [OK]

vagrant@homestead:~/symfony$

I have verified that all 6.0.0-6.0.10 versions of Virtualbox are affected. I also tested and was able to replicate the issue on 5.2.32, but I'm not going any farther back than that. Next steps for me is to go back to the latest 6.0.10, and build a new base box against that specific version to see if the issue is still there. If it is, we'll release a new base box. If not....back to the drawing board.

I've got good news, and bad news:

The Bad News

Building a fresh box with Virtualbox 6.0.10 & Extensions 6.0.10 has no impact, so whatever this bug with vboxsf folder sharing is still happening.

The Good News

It seems by adding type: smb to any folder share that is seeing this problem is working fine (using Samba instead of vboxsf mounting for folders. Until I can chase down a bug report for Virtualbox or find an existing one this is going to be the "official" recommendation.

Note: MacOS users that have never used folder type smb may need to do the following: Open System Preferences -> Sharing -> Click Enable File Sharing -> Click "Share files and folders using SMB". From there you need to add your account / password to the "Windows File Sharing". This should enable your MacOS account to be used.

This is not at all a solution I'm happy with, but it's the only one I can currently offer.

Confirmed via Parallels this is a Virtualbox bug

Does this mean we should create an issue in Virtualbox repository ?

It seems by adding type: smb to any folder share that is seeing this problem is working fine (using Samba instead of vboxsf mounting for folders. Until I can chase down a bug report for Virtualbox or find an existing one this is going to be the "official" recommendation.

How do we do this ? What are the impact ?

Thanks for all the time you take @svpernova09

Does this mean we should create an issue in Virtualbox repository ?

I would LOVE to see this, but after looking through their bug tracker I'm pretty overwhelmed at where to even begin. I tried to use the latest development build but it wouldn't even install.

How do we do this ? What are the impact ?

change your folders from:

folders:
    - map: ../symfony4
      to: /home/vagrant/code

to

folders:
    - map: ../symfony4
      to: /home/vagrant/code
      type: smb

Then vagrant destroy && vagrant up

Check the note I mentioned for Mac user, Windows users shouldn't have to do anything AFAIK.

The impact would possibly be faster (or slower) file access speeds. It's often subjective and hard to quantify.

Having the same issue on Linux (Debian 10).

In my case I don't have smb installed so if I add type: smb to my Homestead.yaml file and run vagrant destroy && vagrant up I get this error:

It appears your machine doesn't support SMB, has not been
properly configured for SMB, or there is not an adapter to
enable SMB on this machine for Vagrant. Ensure SMB host
functionality is available on this machine and try again.

I'm not sure how to configure smb on Linux, but I managed to run composer successfully using:
composer install --no-plugins

At least it looks like everything is fine.

Unfortunately, smb synced folders are only supported by Vagrant on Windows and macOS hosts. Using a Linux host, you should be able to use type: nfs instead.

@svpernova09 Thanks you. With smb, it works.

But I now have another issue.
I run composer install on my vagrant and install some package and binary.
I need to use one of these binary locally.

An example with phpcs.
On my vagrant, everything is good
image

But on local, I have permission denied when I want to use this binary.
image

I never had this issue with my vagrant. Is it something wrong with smb ?

Edit: I just tested without smb and there was no problem. (With composer install --no-plugins)
Is it possible to have smb and still share permissions ?

@VincentLanglet,

I don't have a good answer for you here regarding the permissions issue.

Regarding the source issue, I've verified that the issue remains at the most basic Vagrant box level via this repo: https://github.com/svpernova09/vagrant-test

This only really confirms my suspicions and verifies that this isn't a Homestead issue, but a Virtualbox one. I'm going to poke around and see what I can do, but I'm not hopeful there's much we'll be able to do here.

Does this mean we should create an issue in Virtualbox repository ?

I would LOVE to see this, but after looking through their bug tracker I'm pretty overwhelmed at where to even begin. I tried to use the latest development build but it wouldn't even install.

This only really confirms my suspicions and verifies that this isn't a Homestead issue, but a Virtualbox one. I'm going to poke around and see what I can do, but I'm not hopeful there's much we'll be able to do here.

Creating an issue in Virtualbox with the link of you repo seems like the best things to do ; but I didn't look at their bug tracker.

FYI, the solution I took is

  • use type: nfs
  • composer install --no-plugins --no-scripts
  • composer install

This way I have no error during the installation, and not permission errors.

Creating an issue in Virtualbox with the link of you repo seems like the best things to do ; but I didn't look at their bug tracker.

I agree, but I don't feel like I have _enough_ information to not immediately be sent chasing down some other possibility.

Well this is a punch in the gut:

Vagrant is a program that relies on VirtualBox, but modifies its configuration files in unknown ways to us, and with unknown consequences, especially the networking part. It is not supported on these VirtualBox forums/channels, they have their own Vagrant support channels.

If you are having this problem with a standalone version of VirtualBox (after a complete uninstallation of Vagrant), then we can continue this discussion.

So according to him, we should open a vagrant issue ?

Looks like it :(

--

  • Joe Ferguson
    JoeFerguson.me
    osmihelp.org
    On Jul 22, 2019, 07:35 -0500, Vincent Langlet notifications@github.com, wrote:

So according to him, we should open a vagrant issue ?
โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Am I correct to say the only solutions at this point are either to add type: smb to Homestead.yaml or to rollback VirtualBox to 5.2?

Adding type: smb has really decreased performance for me. :(

Am I correct to say the only solutions at this point are either to add type: smb to Homestead.yaml or to rollback VirtualBox to 5.2?

I went back to the latest release of Virtualbox 5.2 and still saw the issue :(

Adding type: smb has really decreased performance for me. :(

If you can, try NFS, but it won't work on Windows iirc.

I think the best solution is maybe composer install --no-plugins --no-scripts?

I'm still pushing at my Virtualbox support ticket, here's the latest: https://www.virtualbox.org/ticket/18776#comment:5

I investigated about this bug.. I think to downgrade technology per technology ..

  • Virtualbox 6.0.10 -> Virtualbox 5.2.32 .. Don't works!
  • Homestead v9.0.7 -> Homestead v8.6.0 .. Don't works!
  • laravel/homestead box v8.0.0 -> laravel/homestead box v7.2.1 .. Works! finally!

Work with Virtualbox 5.2.32 & Homestead v8.6.0 & laravel/homestead box v7.2.1

Work with Virtualbox 5.2.32 & Homestead v8.6.0 & laravel/homestead box v7.2.1

@deviantintegral You think LVM has anything to do with this?

I donโ€™t think so, because lvm was already in use and is also completely transparent to VirtualBox.

But, downgrading the base box would downgrade the guest extensions?

โ€”
Andrew

On Jul 22, 2019, at 14:36, Joe Ferguson notifications@github.com wrote:

Work with Virtualbox 5.2.32 & Homestead v8.6.0 & laravel/homestead box v7.2.1

@deviantintegral You think LVM has anything to do with this?

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

But, downgrading the base box would downgrade the guest extensions?

I can't remember which takes priority, the extensions in the guest do I believe.

Yes, did the guest extensions get updated in the box? The guideline is that they should match the version of the host VirtualBox, though in practice that gets ignored. Iโ€™ve seen strange issues when the version gap is wide.

โ€”
Andrew

On Jul 22, 2019, at 14:42, Joe Ferguson notifications@github.com wrote:

But, downgrading the base box would downgrade the guest extensions?

I can't remember which takes priority, the extensions in the guest do I believe.

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I don't have a lot of clarity into which box versions have what guest
additions. That's normally controlled upsteamin the bento packer templates
we use.

On Mon, Jul 22, 2019 at 1:45 PM Andrew Berry notifications@github.com
wrote:

Yes, did the guest extensions get updated in the box? The guideline is
that they should match the version of the host VirtualBox, though in
practice that gets ignored. Iโ€™ve seen strange issues when the version gap
is wide.

โ€”
Andrew

On Jul 22, 2019, at 14:42, Joe Ferguson notifications@github.com
wrote:

But, downgrading the base box would downgrade the guest extensions?

I can't remember which takes priority, the extensions in the guest do I
believe.

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/laravel/homestead/issues/1240?email_source=notifications&email_token=AAHMFQSBNMILAFATD76M46LQAX53NA5CNFSM4IEI4APKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2QZMOA#issuecomment-513906232,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHMFQRBBTGTP6XR7HFMIB3QAX53NANCNFSM4IEI4APA
.

--

  • Joe Ferguson
    JoeFerguson.me
    osmihelp.org

I tried to see if the error is from composer o PHP version but..

With Virtualbox 5.2.32 & Homestead v8.6.0 & laravel/homestead box v7.2.1

  • Apply apt-get upgrade and restart
  • Upgrade composer and upgrade PHP
  • Clear the cache of composer

Works too ..

I think the problem is with the new version of the laravel/homestead vagrant box

EDIT:

This version of the laravel/homestead vagrant box , fix the error when try to delete directory (Storage::deleteDirectory()) with the new version of vagrant box

Would you believe me if I fixed this with a sleep(2) call?

@MrJmpl3

With the configuration you got working, can you run composer --version and show me the ouput please, and verify again the box version you're using?

"composer --version":

  • Composer version 1.8.6 2019-06-11 15:03:05

"vagrant box list":

  • laravel/homestead (virtualbox, 7.2.1)

TL;DR:

VirtualBox shared folders are not fast enough to place the files in the location they immediately require() them from. In PHP under the Composer hood, this all happens _really fast_, so fast it seems things break because of it.

The details:

I figured this out by adding a sleep() call in Composer's src/Composer/Installer/PluginInstaller.php:

    public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
    {
        $extra = $package->getExtra();
        if (empty($extra['class'])) {
            throw new \UnexpectedValueException('Error while installing '.$package->getPrettyName().', composer-plugin packages should have a class defined in their extra key to be usable.');
        }

        parent::install($repo, $package);
        try {
            $this->io->writeError("Sleeping 1 seconds...");
            sleep(1); // Anything lower than 1 still fails, probably should be 1/1.5 second minimum
            $this->composer->getPluginManager()->registerPackage($package, true);
        } catch (\Exception $e) {

Here's an example using Composer version 1.8.6 2019-06-11 15:03:05:

vagrant@homestead:~/symfony$ rm -rf vendor/ && composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 104 installs, 0 updates, 0 removals
  - Installing ocramius/package-versions (1.4.0): Loading from cache
Plugin installation failed, rolling back
  - Removing ocramius/package-versions (1.4.0)


  [RuntimeException]
  Could not delete /home/vagrant/symfony/vendor/ocramius/package-versions/src/PackageVersions:


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

vagrant@homestead:~/symfony$

Here's a successful run with my modified version of Composer (Only the above sleep() call and notice added):

vagrant@homestead:~/symfony$ rm -rf vendor/ &&../composer/bin/composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 104 installs, 0 updates, 0 removals
  - Installing ocramius/package-versions (1.4.0): string(76) "INCLUDE: /home/vagrant/composer/vendor/composer/../symfony/finder/Finder.php"
Loading from cache
Sleeping 1 seconds...
  - Installing symfony/flex (v1.4.4): Loading from cache
Sleeping 1 seconds...
  - Installing doctrine/lexer (1.0.2): Loading from cache
  - Installing doctrine/annotations (v1.6.1): Loading from cache
  - Installing doctrine/reflection (v1.0.0): Loading from cache
  - Installing doctrine/event-manager (v1.0.0): Loading from cache
  - Installing doctrine/collections (v1.6.2): Loading from cache
  - Installing doctrine/cache (v1.8.0): Loading from cache
  - Installing doctrine/persistence (1.1.1): Loading from cache
  - Installing doctrine/inflector (v1.3.0): Loading from cache
  - Installing doctrine/common (v2.10.0): Loading from cache
  - Installing psr/container (1.0.0): Loading from cache
  - Installing symfony/service-contracts (v1.1.5): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.11.0): Loading from cache
  - Installing symfony/doctrine-bridge (v4.3.2): Loading from cache
  - Installing doctrine/doctrine-cache-bundle (1.3.5): Loading from cache
  - Installing doctrine/instantiator (1.2.0): Loading from cache
  - Installing symfony/stopwatch (v4.3.2): Loading from cache
  - Installing symfony/polyfill-php73 (v1.11.0): Loading from cache
  - Installing symfony/console (v4.3.2): Loading from cache
  - Installing zendframework/zend-eventmanager (3.2.1): Loading from cache
  - Installing zendframework/zend-code (3.3.1): Loading from cache
  - Installing ocramius/proxy-manager (2.2.2): Loading from cache
  - Installing doctrine/dbal (v2.9.2): Loading from cache
  - Installing doctrine/migrations (v2.1.0): Loading from cache
  - Installing egulias/email-validator (2.1.9): Loading from cache
  - Installing jdorn/sql-formatter (v1.2.17): Loading from cache
  - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
  - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
  - Installing symfony/polyfill-php72 (v1.11.0): Loading from cache
  - Installing symfony/polyfill-intl-idn (v1.11.0): Loading from cache
  - Installing symfony/mime (v4.3.2): Loading from cache
  - Installing symfony/http-foundation (v4.3.2): Loading from cache
  - Installing symfony/event-dispatcher-contracts (v1.1.5): Loading from cache
  - Installing symfony/event-dispatcher (v4.3.2): Loading from cache
  - Installing psr/log (1.1.0): Loading from cache
  - Installing symfony/debug (v4.3.2): Loading from cache
  - Installing symfony/http-kernel (v4.3.2): Loading from cache
  - Installing symfony/routing (v4.3.2): Loading from cache
  - Installing symfony/finder (v4.3.2): Loading from cache
  - Installing symfony/filesystem (v4.3.2): Loading from cache
  - Installing symfony/dependency-injection (v4.3.2): Loading from cache
  - Installing symfony/config (v4.3.2): Loading from cache
  - Installing symfony/var-exporter (v4.3.2): Loading from cache
  - Installing psr/cache (1.0.1): Loading from cache
  - Installing symfony/cache-contracts (v1.1.5): Loading from cache
  - Installing symfony/cache (v4.3.2): Loading from cache
  - Installing symfony/framework-bundle (v4.3.2): Loading from cache
  - Installing sensio/framework-extra-bundle (v5.4.1): Loading from cache
  - Installing symfony/asset (v4.3.2): Loading from cache
  - Installing symfony/dotenv (v4.3.2): Loading from cache
  - Installing symfony/expression-language (v4.3.2): Loading from cache
  - Installing symfony/inflector (v4.3.2): Loading from cache
  - Installing symfony/property-access (v4.3.2): Loading from cache
  - Installing symfony/options-resolver (v4.3.2): Loading from cache
  - Installing symfony/intl (v4.3.2): Loading from cache
  - Installing symfony/polyfill-intl-icu (v1.11.0): Loading from cache
  - Installing symfony/form (v4.3.2): Loading from cache
  - Installing symfony/http-client-contracts (v1.1.5): Loading from cache
  - Installing symfony/http-client (v4.3.2): Loading from cache
  - Installing monolog/monolog (1.24.0): Loading from cache
  - Installing symfony/monolog-bridge (v4.3.2): Loading from cache
  - Installing doctrine/orm (v2.6.3): Loading from cache
  - Installing doctrine/doctrine-bundle (1.11.2): Loading from cache
  - Installing doctrine/doctrine-migrations-bundle (v2.0.0): Loading from cache
  - Installing symfony/orm-pack (v1.0.6): Loading from cache
  - Installing symfony/security-core (v4.3.2): Loading from cache
  - Installing symfony/security-http (v4.3.2): Loading from cache
  - Installing symfony/security-guard (v4.3.2): Loading from cache
  - Installing symfony/security-csrf (v4.3.2): Loading from cache
  - Installing symfony/security-bundle (v4.3.2): Loading from cache
  - Installing symfony/serializer (v4.3.2): Loading from cache
  - Installing symfony/property-info (v4.3.2): Loading from cache
  - Installing webmozart/assert (1.4.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (4.3.1): Loading from cache
  - Installing symfony/serializer-pack (v1.0.2): Loading from cache
  - Installing swiftmailer/swiftmailer (v6.2.1): Loading from cache
  - Installing symfony/swiftmailer-bundle (v3.2.8): Loading from cache
  - Installing symfony/translation-contracts (v1.1.5): Loading from cache
  - Installing symfony/translation (v4.3.2): Loading from cache
  - Installing twig/twig (v2.11.3): Loading from cache
  - Installing symfony/twig-bridge (v4.3.2): Loading from cache
  - Installing symfony/validator (v4.3.2): Loading from cache
  - Installing psr/link (1.0.0): Loading from cache
  - Installing fig/link-util (1.0.0): Loading from cache
  - Installing symfony/web-link (v4.3.2): Loading from cache
  - Installing symfony/yaml (v4.3.2): Loading from cache
  - Installing symfony/var-dumper (v4.3.2): Loading from cache
  - Installing symfony/twig-bundle (v4.3.2): Loading from cache
  - Installing symfony/web-profiler-bundle (v4.3.2): Loading from cache
  - Installing symfony/profiler-pack (v1.0.4): Loading from cache
  - Installing symfony/monolog-bundle (v3.4.0): Loading from cache
  - Installing symfony/debug-bundle (v4.3.2): Loading from cache
  - Installing easycorp/easy-log-handler (v1.0.7): Loading from cache
  - Installing symfony/debug-pack (v1.0.7): Loading from cache
  - Installing symfony/dom-crawler (v4.3.2): Loading from cache
  - Installing nikic/php-parser (v4.2.2): Loading from cache
  - Installing symfony/maker-bundle (v1.12.0): Loading from cache
  - Installing symfony/phpunit-bridge (v4.3.2): Loading from cache
  - Installing symfony/css-selector (v4.3.2): Loading from cache
  - Installing symfony/browser-kit (v4.3.2): Loading from cache
  - Installing symfony/test-pack (v1.0.6): Loading from cache
  - Installing symfony/process (v4.3.2): Loading from cache
  - Installing symfony/web-server-bundle (v4.3.2): Loading from cache
Generating autoload files
ocramius/package-versions:  Generating version class...
ocramius/package-versions: ...done generating version class
Executing script cache:clear [OK]

So while this isn't a Vagrant bug*, and It's not technically a Virtualbox bug, and I certainly wouldn't call it a Composer bug... My plan is to open a new issue on Composer and ask how / if they can even handle this. Depending on what they come back with we may need to bundle our own version of Composer with this change. I don't like that idea that all.

  • Considering the v7.2.1 box does NOT have this issue I can only assume something in the Virtualbox extensions caused a regression, but based on my experience with VirtualBox's issue tracker, I'll gladly let someone else file that issue.

@MrJmpl3 Thanks! one more quick question, can you run ll /opt and show me the results? should see a folder named VBoxGuestAdditions-X.X.X

"ll /opt":

drwxr-xr-x 4 root root 4.0K Apr 20 18:34 lmm
drwxr-xr-x 9 root root 4.0K Apr 20 18:28 VBoxGuestAdditions-6.0.0
total 8.0K

VBoxGuestAdditions-6.0.0

Interesting. Thanks!

So while this isn't a Vagrant bug*, and It's not technically a Virtualbox bug

Why is this not a Virtualbox bug? It sounds like it's returning that a filesystem call is complete when it isn't.

I'd imagine this is load-sensitive; if there's a race condition, and the VM or host is under load, I'd expect the time to sleep to go up.

Why is this not a Virtualbox bug? It sounds like it's returning that a filesystem call is complete when it isn't.

This block was supposed to clarify that "Not a virtualbox bug":

Considering the v7.2.1 box does NOT have this issue I can only assume something in the Virtualbox extensions caused a regression, but based on my experience with VirtualBox's issue tracker, I'll gladly let someone else file that issue.

I don't disagree it sounds like a bug, but it's not a bug battle I'm going to fight with VirtualBox. It's too much effort to get stonewalled by jerks.

fwiw:

box 7.2.1 uses VirtualBox additions 6.0.0. I need to downgrade my install and see if a fresh box using 6.0.0 extensions and created with VirtualBox 6.0.0 still has the issue.

Past that there may be something happening in the Bento packer build process upstream of us. I spent some time digging into the project last night and worked on some PRs. Had a good chat with one of the maintainers there via the Chef Community Slack.

So it would seem I have to build the Virtualbox box with VB 6.0.0 to get a Homestead box that doesn't have this issue. I'm currently uploading a new box (and new version) to Vagrant Cloud.

  • Uninstalled Virtualbox 6.0.10.
  • Installed Virtualbox 6.0.0 & Extensions 6.0.0.
  • Built fresh box via Packer
โ””โ”€(1)โ”€ vagrant up                                                                                                                                          
Bringing machine 'homestead' up with 'virtualbox' provider...
==> homestead: Importing base box 'teststead'...
==> homestead: Matching MAC address for NAT networking...
==> homestead: Setting the name of the VM: homestead
==> homestead: Clearing any previously set network interfaces...
==> homestead: Preparing network interfaces based on configuration...
    homestead: Adapter 1: nat
    homestead: Adapter 2: hostonly
==> homestead: Forwarding ports...
    homestead: 80 (guest) => 8000 (host) (adapter 1)
    homestead: 443 (guest) => 44300 (host) (adapter 1)
    homestead: 3306 (guest) => 33060 (host) (adapter 1)
    homestead: 4040 (guest) => 4040 (host) (adapter 1)
    homestead: 5432 (guest) => 54320 (host) (adapter 1)
    homestead: 8025 (guest) => 8025 (host) (adapter 1)
    homestead: 9600 (guest) => 9600 (host) (adapter 1)
    homestead: 27017 (guest) => 27017 (host) (adapter 1)
    homestead: 8000 (guest) => 9090 (host) (adapter 1)
    homestead: 22 (guest) => 2222 (host) (adapter 1)
==> homestead: Running 'pre-boot' VM customizations...
==> homestead: Booting VM...
==> homestead: Waiting for machine to boot. This may take a few minutes...
    homestead: SSH address: 127.0.0.1:2222
    homestead: SSH username: vagrant
    homestead: SSH auth method: private key
    homestead: Warning: Connection reset. Retrying...
    homestead:
    homestead: Vagrant insecure key detected. Vagrant will automatically replace
    homestead: this with a newly generated keypair for better security.
    homestead:
    homestead: Inserting generated public key within guest...
    homestead: Removing insecure key from the guest if it's present...
    homestead: Key inserted! Disconnecting and reconnecting using new SSH key...
==> homestead: Machine booted and ready!
==> homestead: Checking for guest additions in VM...
==> homestead: Setting hostname...
==> homestead: Configuring and enabling network interfaces...
==> homestead: Mounting shared folders...
    homestead: /vagrant => /Users/halo/Code/homestead
    homestead: /home/vagrant/qs => /Users/halo/Code/quickstart-5.7
    homestead: /home/vagrant/fresh => /Users/halo/Code/fresh-laravel
    homestead: /home/vagrant/symfony => /Users/halo/Code/Cours_Symfony4/symfony4
    homestead: /home/vagrant/composer => /Users/halo/Code/composer
==> homestead: Running provisioner: file...
    homestead: /Users/halo/Code/homestead/aliases => /tmp/bash_aliases
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
    homestead:
    homestead: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBeub1sTnpX7Tp7f0ukLAz7dMn7CS9w6eHmc1wtJNp/iXHzyBRKZ+ov8z+voCVJOrSDyTsG0IKcby8+UxwpzR2nyqiBPw+oaSD1elIHFS48h7Wd5f41S6QeHUlhac20fa5EHTnNw9jphtxDuYPa+xiaNdbdvJKC1jZuipsqc4qlcDC1LISOtIsAzMF1fnByWEe3JBvRxvCmegruu424chIGG23elIoBHsOvY/6BI+5G2BNSBvqzHxfQ2mK6j4tEj2K2s+4M3r4FrgZIYgHxxZtADdNGwditFu5ipfaQSc1n5YFQiI87iTO5OZCBdffMY3qQWaE3ne+hAVDSdJLWFDn halo@mobile-rage-work
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
    homestead: Ignoring feature: python because it is set to false
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-1ykm8ky.sh
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-1stz1zq.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Certificate: homestead.test
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Site: homestead.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-1x7ddes.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Certificate: fresh.test
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Site: fresh.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-m9q216.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Certificate: symfony.test
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Site: symfony.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-ikrp14.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: shell...
    homestead: Running: script: Clear Variables
==> homestead: Running provisioner: shell...
    homestead: Running: script: Restarting Cron
==> homestead: Running provisioner: shell...
    homestead: Running: script: Restarting Nginx
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating MySQL Database: homestead
==> homestead: Running provisioner: shell...
    homestead: Running: script: Creating Postgres Database: homestead
==> homestead: Running provisioner: shell...
    homestead: Running: script: Update Composer
    homestead: You are already using composer version 1.8.6 (stable channel).
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-1q92yec.sh
==> homestead: Running provisioner: shell...
    homestead: Running: script: Update motd
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/rc/k3k9fv1x50n7r10bpcp7xyx00000gn/T/vagrant-shell20190726-38281-18ihft1.sh
vagrant up: 01:37


โ””โ”€โ”€ vagrant ssh                                                                                                                                            
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-55-generic x86_64)

Thanks for using
 _                               _                 _
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|

* Homestead v9.0.0 released
* Settler v8.0.0 released

0 packages can be updated.
0 updates are security updates.


vagrant@homestead:~$ cd symfony/
vagrant@homestead:~/symfony$ rm -rf vendor/
composer install
vagrant@homestead:~/symfony$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
    1/93:   https://codeload.github.com/symfony/test-pack/legacy.zip/ff87e800a67d06c423389f77b8209bc9dc469def
    2/93:   https://codeload.github.com/symfony/web-server-bundle/legacy.zip/a5391b6a4ac78d518dd3f0ee5f40bcc9a7ee6fe7
    3/93:   https://codeload.github.com/symfony/debug-pack/legacy.zip/09a4a1e9bf2465987d4f79db0ad6c11cc632bc79
    4/93:   https://codeload.github.com/symfony/browser-kit/legacy.zip/a29dd02a1f3f81b9a15c7730cc3226718ddb55ca
    5/93:   https://codeload.github.com/EasyCorp/easy-log-handler/legacy.zip/5f95717248d20684f88cfb878d8bf3d78aadcbba
    6/93:   https://codeload.github.com/symfony/profiler-pack/legacy.zip/99c4370632c2a59bb0444852f92140074ef02209
    7/93:   https://codeload.github.com/symfony/phpunit-bridge/legacy.zip/573b5c4a36a171b94cf031d8dc6cc568082190f1
    8/93:   https://codeload.github.com/symfony/css-selector/legacy.zip/105c98bb0c5d8635bea056135304bd8edcc42b4d
    9/93:   https://codeload.github.com/symfony/monolog-bundle/legacy.zip/7fbecb371c1c614642c93c6b2cbcdf723ae8809d
    10/93:  https://codeload.github.com/symfony/web-link/legacy.zip/af0e386322f192ed50bd9c812daedce05368733c
    11/93:  https://codeload.github.com/symfony/debug-bundle/legacy.zip/233e3f0da169a0b6447e873cc02cedc0791325f6
    12/93:  https://codeload.github.com/symfony/dom-crawler/legacy.zip/291397232a2eefb3347eaab9170409981eaad0e2
    13/93:  https://codeload.github.com/php-fig/link-util/legacy.zip/1a07821801a148be4add11ab0603e4af55a72fac
    14/93:  https://codeload.github.com/php-fig/link/legacy.zip/eea8e8662d5cd3ae4517c9b864493f59fca95562
    15/93:  https://codeload.github.com/symfony/twig-bundle/legacy.zip/fd97f3b8e25447241dac7240f22f2c7ca2b69721
    16/93:  https://codeload.github.com/symfony/yaml/legacy.zip/c60ecf5ba842324433b46f58dc7afc4487dbab99
    17/93:  https://codeload.github.com/symfony/maker-bundle/legacy.zip/201d0e050dca336c44f93657ce1f34f3b3868432
    18/93:  https://codeload.github.com/symfony/twig-bridge/legacy.zip/2931facf91f198018b88371de996b6075f6b33f9
    19/93:  https://codeload.github.com/symfony/serializer-pack/legacy.zip/c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2
    20/93:  https://codeload.github.com/nikic/PHP-Parser/legacy.zip/1bd73cc04c3843ad8d6b0bfc0956026a151fc420
    21/93:  https://codeload.github.com/webmozart/assert/legacy.zip/83e253c8e0be5b0257b881e1827274667c5c17a9
    22/93:  https://codeload.github.com/symfony/property-info/legacy.zip/5ce4d9d9c8a5dc84a3e0f793d75ef9b56e4c5f65
    23/93:  https://codeload.github.com/symfony/serializer/legacy.zip/bbf3b52653dae353259c1761cbb6f8f056dff03e
    24/93:  https://codeload.github.com/symfony/security-bundle/legacy.zip/fa545860b2f72fc3c9045d8700bfcca10a4518d4
    25/93:  https://codeload.github.com/symfony/security-guard/legacy.zip/2177390e39f49e5ae0ac5765982fa32a4aeb536f
    26/93:  https://codeload.github.com/symfony/security-http/legacy.zip/8a93196dec0a136f817063c99eee20cd44e3615a
    27/93:  https://codeload.github.com/symfony/security-csrf/legacy.zip/e7e3509ef7de66ea4970c75f9a0a72bf132d452e
    28/93:  https://codeload.github.com/phpDocumentor/ReflectionDocBlock/legacy.zip/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c
    29/93:  https://codeload.github.com/symfony/orm-pack/legacy.zip/36c2a928482dc5f05c5c1c1b947242ae03ff1335
    30/93:  https://codeload.github.com/symfony/validator/legacy.zip/ba2cb2ba24344e56a32b5284be988bc1faeac209
    31/93:  https://codeload.github.com/doctrine/DoctrineMigrationsBundle/legacy.zip/4c9579e0e43df1fb3f0ca29b9c20871c824fac71
    32/93:  https://codeload.github.com/symfony/security-core/legacy.zip/489f3a13362bf692df974f84367fba954b1d78a8
    33/93:  https://codeload.github.com/symfony/monolog-bridge/legacy.zip/86bef6627b8092d2cf7f2789c5784a060cbf4ac6
    34/93:  https://codeload.github.com/doctrine/DoctrineBundle/legacy.zip/28101e20776d8fa20a00b54947fbae2db0d09103
    35/93:  https://codeload.github.com/symfony/http-client/legacy.zip/e903ab079c99eab322fc5c71eb63fc467cd19a2a
    36/93:  https://codeload.github.com/symfony/http-client-contracts/legacy.zip/e1924aea9c70ae3e69fff05afa3cb8ce541bf3bb
    37/93:  https://codeload.github.com/symfony/polyfill-intl-icu/legacy.zip/999878a3a09d73cae157b0cf89bb6fb2cc073057
    38/93:  https://codeload.github.com/swiftmailer/swiftmailer/legacy.zip/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a
    39/93:  https://codeload.github.com/symfony/options-resolver/legacy.zip/40762ead607c8f792ee4516881369ffa553fee6f
    40/93:  https://codeload.github.com/symfony/web-profiler-bundle/legacy.zip/ca3a3c8558bc641df7c8c2c546381ccd78d0777a
    41/93:  https://codeload.github.com/Seldaek/monolog/legacy.zip/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266
    42/93:  https://codeload.github.com/symfony/inflector/legacy.zip/889dc28cb6350ddb302fe9b8c796e4e6eb836856
    43/93:  https://codeload.github.com/symfony/property-access/legacy.zip/18ea48862a39e364927e71b9e4942af3c1a1cb8c
    44/93:  https://codeload.github.com/symfony/swiftmailer-bundle/legacy.zip/cb125b3648f132fb8070b55393f20cb310907d3b
    45/93:  https://codeload.github.com/symfony/expression-language/legacy.zip/0243ebde208e0cb401b37e8b8a70a7c6a0aa1d6d
    46/93:  https://codeload.github.com/symfony/dotenv/legacy.zip/c9ea2a1c60e7db08c1d1379cd4448fd14bda11eb
    47/93:  https://codeload.github.com/symfony/asset/legacy.zip/eecf6d6c952c2c80c9b4fa3ec089d222420f1569
    48/93:  https://codeload.github.com/symfony/var-dumper/legacy.zip/45d6ef73671995aca565a1aa3d9a432a3ea63f91
    49/93:  https://codeload.github.com/symfony/cache-contracts/legacy.zip/ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db
    50/93:  https://codeload.github.com/php-fig/cache/legacy.zip/d11b50ad223250cf17b86e38383413f5a6764bf8
    51/93:  https://codeload.github.com/symfony/cache/legacy.zip/4acf343c9e3aea5a00d51926c01125441707635c
    52/93:  https://codeload.github.com/doctrine/orm/legacy.zip/434820973cadf2da2d66e7184be370084cc32ca8
    53/93:  https://codeload.github.com/symfony/var-exporter/legacy.zip/9dee83031dcf6dcb53bb7ec1c51de085329bf5cb
    54/93:  https://codeload.github.com/symfony/config/legacy.zip/9198eea354be75794a7b1064de00d9ae9ae5090f
    55/93:  https://codeload.github.com/symfony/flex/legacy.zip/4b5d25a5538e2dc37ff84645fe7498a9a04947b3
    56/93:  https://codeload.github.com/symfony/routing/legacy.zip/2ef809021d72071c611b218c47a3bf3b17b7325e
    57/93:  https://codeload.github.com/symfony/form/legacy.zip/1fdaa6aeac75bdb903a8fc69befd1f9e3d227895
    58/93:  https://codeload.github.com/symfony/debug/legacy.zip/d8f4fb38152e0eb6a433705e5f661d25b32c5fcd
    59/93:  https://codeload.github.com/php-fig/log/legacy.zip/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd
    60/93:  https://codeload.github.com/symfony/event-dispatcher/legacy.zip/d257021c1ab28d48d24a16de79dfab445ce93398
    61/93:  https://codeload.github.com/symfony/event-dispatcher-contracts/legacy.zip/c61766f4440ca687de1084a5c00b08e167a2575c
    62/93:  https://codeload.github.com/twigphp/Twig/legacy.zip/699ed2342557c88789a15402de5eb834dedd6792
    63/93:  https://codeload.github.com/sensiolabs/SensioFrameworkExtraBundle/legacy.zip/585f4b3a1c54f24d1a8431c729fc8f5acca20c8a
    64/93:  https://codeload.github.com/symfony/polyfill-intl-idn/legacy.zip/c766e95bec706cdd89903b1eda8afab7d7a6b7af
    65/93:  https://codeload.github.com/symfony/polyfill-php72/legacy.zip/ab50dcf166d5f577978419edd37aa2bb8eabce0c
    66/93:  https://codeload.github.com/phpDocumentor/ReflectionCommon/legacy.zip/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6
    67/93:  https://codeload.github.com/phpDocumentor/TypeResolver/legacy.zip/9c977708995954784726e25d0cd1dddf4e65b0f7
    68/93:  https://codeload.github.com/symfony/dependency-injection/legacy.zip/b851928be349c065197fdc0832f78d85139e3903
    69/93:  https://codeload.github.com/jdorn/sql-formatter/legacy.zip/64990d96e0959dff8e059dfcdc1af130728d92bc
    70/93:  https://codeload.github.com/symfony/http-foundation/legacy.zip/e1b507fcfa4e87d192281774b5ecd4265370180d
    71/93:  https://codeload.github.com/Ocramius/PackageVersions/legacy.zip/a4d4b60d0e60da2487bd21a2c6ac089f85570dbb
    72/93:  https://codeload.github.com/egulias/EmailValidator/legacy.zip/128cc721d771ec2c46ce59698f4ca42b73f71b25
    73/93:  https://codeload.github.com/Ocramius/ProxyManager/legacy.zip/14b137b06b0f911944132df9d51e445a35920ab1
    74/93:  https://codeload.github.com/symfony/http-kernel/legacy.zip/4150f71e27ed37a74700561b77e3dbd754cbb44d
    75/93:  https://codeload.github.com/zendframework/zend-eventmanager/legacy.zip/a5e2583a211f73604691586b8406ff7296a946dd
    76/93:  https://codeload.github.com/symfony/stopwatch/legacy.zip/6b100e9309e8979cf1978ac1778eb155c1f7d93b
    77/93:  https://codeload.github.com/doctrine/instantiator/legacy.zip/a2c590166b2133a4633738648b6b064edae0814a
    78/93:  https://codeload.github.com/doctrine/DoctrineCacheBundle/legacy.zip/5514c90d9fb595e1095e6d66ebb98ce9ef049927
    79/93:  https://codeload.github.com/zendframework/zend-code/legacy.zip/c21db169075c6ec4b342149f446e7b7b724f95eb
    80/93:  https://codeload.github.com/doctrine/common/legacy.zip/30e33f60f64deec87df728c02b107f82cdafad9d
    81/93:  https://codeload.github.com/symfony/doctrine-bridge/legacy.zip/7142fd113adec343188e63e058bfbb4d3909a730
    82/93:  https://codeload.github.com/symfony/mime/legacy.zip/ec2c5565de60e03f33d4296a655e3273f0ad1f8b
    83/93:  https://codeload.github.com/doctrine/persistence/legacy.zip/3da7c9d125591ca83944f477e65ed3d7b4617c48
    84/93:  https://codeload.github.com/symfony/framework-bundle/legacy.zip/5aab516cef8e3772d6f7daa3ab62cd38713aae08
    85/93:  https://codeload.github.com/doctrine/cache/legacy.zip/d768d58baee9a4862ca783840eca1b9add7a7f57
    86/93:  https://codeload.github.com/doctrine/collections/legacy.zip/c5e0bc17b1620e97c968ac409acbff28b8b850be
    87/93:  https://codeload.github.com/doctrine/event-manager/legacy.zip/a520bc093a0170feeb6b14e9d83f3a14452e64b3
    88/93:  https://codeload.github.com/doctrine/dbal/legacy.zip/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9
    89/93:  https://codeload.github.com/doctrine/reflection/legacy.zip/02538d3f95e88eb397a5f86274deb2c6175c2ab6
    90/93:  https://codeload.github.com/doctrine/lexer/legacy.zip/1febd6c3ef84253d7c815bed85fc622ad207a9f8
    91/93:  https://codeload.github.com/doctrine/migrations/legacy.zip/ebe6f891a4c61574f77fc4a06d913d29236b8466
    92/93:  https://codeload.github.com/doctrine/annotations/legacy.zip/53120e0eb10355388d6ccbe462f1fea34ddadb24
    93/93:  https://codeload.github.com/symfony/intl/legacy.zip/ae61816fdc00809928bb45ebc5df593d7e0878ad
    Finished: success: 93, skipped: 0, failure: 0, total: 93
Package operations: 104 installs, 0 updates, 0 removals
  - Installing ocramius/package-versions (1.4.0): Loading from cache
  - Installing symfony/flex (v1.4.4): Loading from cache
  - Installing doctrine/lexer (1.0.2): Loading from cache
  - Installing doctrine/annotations (v1.6.1): Loading from cache
  - Installing doctrine/reflection (v1.0.0): Loading from cache
  - Installing doctrine/event-manager (v1.0.0): Loading from cache
  - Installing doctrine/collections (v1.6.2): Loading from cache
  - Installing doctrine/cache (v1.8.0): Loading from cache
  - Installing doctrine/persistence (1.1.1): Loading from cache
  - Installing doctrine/inflector (v1.3.0): Loading from cache
  - Installing doctrine/common (v2.10.0): Loading from cache
  - Installing psr/container (1.0.0): Loading from cache
  - Installing symfony/service-contracts (v1.1.5): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.11.0): Loading from cache
  - Installing symfony/doctrine-bridge (v4.3.2): Loading from cache
  - Installing doctrine/doctrine-cache-bundle (1.3.5): Loading from cache
  - Installing doctrine/instantiator (1.2.0): Loading from cache
  - Installing symfony/stopwatch (v4.3.2): Loading from cache
  - Installing symfony/polyfill-php73 (v1.11.0): Loading from cache
  - Installing symfony/console (v4.3.2): Loading from cache
  - Installing zendframework/zend-eventmanager (3.2.1): Loading from cache
  - Installing zendframework/zend-code (3.3.1): Loading from cache
  - Installing ocramius/proxy-manager (2.2.2): Loading from cache
  - Installing doctrine/dbal (v2.9.2): Loading from cache
  - Installing doctrine/migrations (v2.1.0): Loading from cache
  - Installing egulias/email-validator (2.1.9): Loading from cache
  - Installing jdorn/sql-formatter (v1.2.17): Loading from cache
  - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
  - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
  - Installing symfony/polyfill-php72 (v1.11.0): Loading from cache
  - Installing symfony/polyfill-intl-idn (v1.11.0): Loading from cache
  - Installing symfony/mime (v4.3.2): Loading from cache
  - Installing symfony/http-foundation (v4.3.2): Loading from cache
  - Installing symfony/event-dispatcher-contracts (v1.1.5): Loading from cache
  - Installing symfony/event-dispatcher (v4.3.2): Loading from cache
  - Installing psr/log (1.1.0): Loading from cache
  - Installing symfony/debug (v4.3.2): Loading from cache
  - Installing symfony/http-kernel (v4.3.2): Loading from cache
  - Installing symfony/routing (v4.3.2): Loading from cache
  - Installing symfony/finder (v4.3.2): Loading from cache
  - Installing symfony/filesystem (v4.3.2): Loading from cache
  - Installing symfony/dependency-injection (v4.3.2): Loading from cache
  - Installing symfony/config (v4.3.2): Loading from cache
  - Installing symfony/var-exporter (v4.3.2): Loading from cache
  - Installing psr/cache (1.0.1): Loading from cache
  - Installing symfony/cache-contracts (v1.1.5): Loading from cache
  - Installing symfony/cache (v4.3.2): Loading from cache
  - Installing symfony/framework-bundle (v4.3.2): Loading from cache
  - Installing sensio/framework-extra-bundle (v5.4.1): Loading from cache
  - Installing symfony/asset (v4.3.2): Loading from cache
  - Installing symfony/dotenv (v4.3.2): Loading from cache
  - Installing symfony/expression-language (v4.3.2): Loading from cache
  - Installing symfony/inflector (v4.3.2): Loading from cache
  - Installing symfony/property-access (v4.3.2): Loading from cache
  - Installing symfony/options-resolver (v4.3.2): Loading from cache
  - Installing symfony/intl (v4.3.2): Loading from cache
  - Installing symfony/polyfill-intl-icu (v1.11.0): Loading from cache
  - Installing symfony/form (v4.3.2): Loading from cache
  - Installing symfony/http-client-contracts (v1.1.5): Loading from cache
  - Installing symfony/http-client (v4.3.2): Loading from cache
  - Installing monolog/monolog (1.24.0): Loading from cache
  - Installing symfony/monolog-bridge (v4.3.2): Loading from cache
  - Installing doctrine/orm (v2.6.3): Loading from cache
  - Installing doctrine/doctrine-bundle (1.11.2): Loading from cache
  - Installing doctrine/doctrine-migrations-bundle (v2.0.0): Loading from cache
  - Installing symfony/orm-pack (v1.0.6): Loading from cache
  - Installing symfony/security-core (v4.3.2): Loading from cache
  - Installing symfony/security-http (v4.3.2): Loading from cache
  - Installing symfony/security-guard (v4.3.2): Loading from cache
  - Installing symfony/security-csrf (v4.3.2): Loading from cache
  - Installing symfony/security-bundle (v4.3.2): Loading from cache
  - Installing symfony/serializer (v4.3.2): Loading from cache
  - Installing symfony/property-info (v4.3.2): Loading from cache
  - Installing webmozart/assert (1.4.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (4.3.1): Loading from cache
  - Installing symfony/serializer-pack (v1.0.2): Loading from cache
  - Installing swiftmailer/swiftmailer (v6.2.1): Loading from cache
  - Installing symfony/swiftmailer-bundle (v3.2.8): Loading from cache
  - Installing symfony/translation-contracts (v1.1.5): Loading from cache
  - Installing symfony/translation (v4.3.2): Loading from cache
  - Installing twig/twig (v2.11.3): Loading from cache
  - Installing symfony/twig-bridge (v4.3.2): Loading from cache
  - Installing symfony/validator (v4.3.2): Loading from cache
  - Installing psr/link (1.0.0): Loading from cache
  - Installing fig/link-util (1.0.0): Loading from cache
  - Installing symfony/web-link (v4.3.2): Loading from cache
  - Installing symfony/yaml (v4.3.2): Loading from cache
  - Installing symfony/var-dumper (v4.3.2): Loading from cache
  - Installing symfony/twig-bundle (v4.3.2): Loading from cache
  - Installing symfony/web-profiler-bundle (v4.3.2): Loading from cache
  - Installing symfony/profiler-pack (v1.0.4): Loading from cache
  - Installing symfony/monolog-bundle (v3.4.0): Loading from cache
  - Installing symfony/debug-bundle (v4.3.2): Loading from cache
  - Installing easycorp/easy-log-handler (v1.0.7): Loading from cache
  - Installing symfony/debug-pack (v1.0.7): Loading from cache
  - Installing symfony/dom-crawler (v4.3.2): Loading from cache
  - Installing nikic/php-parser (v4.2.2): Loading from cache
  - Installing symfony/maker-bundle (v1.12.0): Loading from cache
  - Installing symfony/phpunit-bridge (v4.3.2): Loading from cache
  - Installing symfony/css-selector (v4.3.2): Loading from cache
  - Installing symfony/browser-kit (v4.3.2): Loading from cache
  - Installing symfony/test-pack (v1.0.6): Loading from cache
  - Installing symfony/process (v4.3.2): Loading from cache
  - Installing symfony/web-server-bundle (v4.3.2): Loading from cache
Generating autoload files
ocramius/package-versions:  Generating version class...
ocramius/package-versions: ...done generating version class
Executing script cache:clear [OK]
Executing script assets:install public [OK]

vagrant@homestead:~/symfony$ cd /opt
vagrant@homestead:/opt$ ll
total 16
drwxr-xr-x  4 root root 4096 Jul 26 14:34 ./
drwxr-xr-x 26 root root 4096 Jul 26 15:09 ../
drwxr-xr-x  4 root root 4096 Jul 26 14:34 lmm/
drwxr-xr-x  9 root root 4096 Jul 26 14:27 VBoxGuestAdditions-6.0.0/
vagrant@homestead:/opt$

Anyone having this issue should upgrade to base box v8.0.1: https://app.vagrantup.com/laravel/boxes/homestead/versions/8.0.1

This box release is for VirtualBox only The only difference is this box is obviously 26 days newer, and was created with Virtualbox 6.0.0.

Please upgrade and respond here letting me know if you're still having the issues. I'm not able to replicate the issues with this new box.

Updating the box has resolved the issue for me and one other team member.

I have forwarded this thread to the rest of my team and will edit my comment if any of them are still having issues. Crossing fingers! :crossed_fingers:

Works for me. Great job @svpernova09

@svpernova09 unfortunately I am still having this issue even on the latest box (8.0.1). For what it's worth it's only happening on one of my projects, not all of them (I have multiple projects within the same homestead installation, each using separately mapped folders).

@robtesch: I'd have to see a full issue report to be able to help. If you're still having issues with operations on Virtualbox synced folders there's not a lot Homestead can do for you.

After working through this, I was able to determine that the problem is that the "sleep" command added ONLY resolves the issue in the plugin phase - not everywhere. If using plugins like cweagans patch, the files are not available in vendor for path to run against. Instead of adding the sleep for the plugin manager, the sleep workaround needs to be in git add src/Composer/Downloader/ArchiveDownloader.php. This is, of course, what is called by the plugin manager - so having the other sleep is no longer necessary.

Ultimately, this bug is filed and lives with Virtualbox, but the workaround is useful. Here's the change made to composer (in our fork) that resolves the issue. https://github.com/Cyberitas/composer/commit/e09b0968a5f111759b6ef748caca93b71391cc1d

(@svpernova09 you may be interested in this since you seem to be handling the other workaround)

@scm6079 You shouldn't fork Composer to get around this, we've determined it to be a Virtualbox folder sharing issue, not a Composer bug.

I'm not using Homestead but I had this same issue and it was solved after enabling nfs on Vagrant.

Versions:

$ VBoxManage -v
6.0.4r128413
$ vagrant -v
Vagrant 2.2.4

@gigo6000

Then the box you're using is also suffering from the same issue Homestead box v8.0.1 did, which is an upstream Virtualbox bug.

FYI it appears this has been fixed (intentionally or unintentionally) upstream by Virtualbox. I just built a fresh box using Virtualbox 6.0.12 and was able to run composer install ocramius/package-versions into a fresh Laravel 6 project without issue.

I made it work with the option "--prefer-source" of composer install. It took a longer time but the installation worked.

I made it work by changing the shared folder type to nfs and then run vagrant provision. ssh to vagrant and run composer clearcache. after that I was able to do composer install without any error.

The solution of @codisart also worked for me. Host Win10 guest Debian 9

Just checked that Virtualbox 6.0.14 does not have this same issue.

vagrant@homestead:~/qs$ composer require ocramius/package-versions
    1/11:   http://repo.packagist.org/p/provider-2014$89b80583cbeafe0d29b6d183923d5b8828676086421562b4b92ee337fa7e7eaf.json
    2/11:   http://repo.packagist.org/p/provider-latest$c388c1a264be58b3bee811bbe10b221546a9bb93c02141f394cb179bc6375aff.json
    3/11:   http://repo.packagist.org/p/provider-2019-01$7aa97774e7cdff79698280aa375481697e3d52583dfb687953b594cb5f0630d1.json
    4/11:   http://repo.packagist.org/p/provider-2015$d861801f9eb2d5e552a6408e49b69519bd73b641b72b89828033725a0c105ddc.json
    5/11:   http://repo.packagist.org/p/provider-2013$d43bc94601a2eb4a005d86fcc58809e63661238903da0f3b7c5155a294dd9b7f.json
    6/11:   http://repo.packagist.org/p/provider-2019-10$25b65e02d6126cc1ecca3d9bb0ba66560a91c2444af6dbd6ab20113cee417b2e.json
    7/11:   http://repo.packagist.org/p/provider-2019-04$03ba4eac66099a96af5ca1f1b6e56703dae9688591ffedbce86e7718452e35dc.json
    8/11:   http://repo.packagist.org/p/provider-2019-07$cac5f9cc000152b8a2530647b995ee3c71b33b6a9487c3a8f339c71d2c748466.json
    9/11:   http://repo.packagist.org/p/provider-2016$daf87390627921faf3550fbab3e07ed8c3e5ac187269b112a42d3fbc5c95552c.json
    10/11:  http://repo.packagist.org/p/provider-2017$18ed9c9263be18cecdbc3c4d0a0fb70d3103aa85456cc0dc98f2a45e4808149c.json
    11/11:  http://repo.packagist.org/p/provider-2018$fb0513c7c16531ed70adee725c96156f5b2c568947aa3f556c5d85fa4beaef38.json
    Finished: success: 11, skipped: 0, failure: 0, total: 11
Using version ^1.5 for ocramius/package-versions
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
    1/1:    https://codeload.github.com/Ocramius/PackageVersions/legacy.zip/1d32342b8c1eb27353c8887c366147b4c2da673c
    Finished: success: 1, skipped: 0, failure: 0, total: 1
Package operations: 1 install, 0 updates, 0 removals
  - Installing ocramius/package-versions (1.5.1): Loading from cache
Writing lock file
Generating optimized autoload files
Warning: Ambiguous class resolution, "App\Mail\VerifyEmail" was found in both "/home/vagrant/qs/app/Mail/VerifyJoinEmail.php" and "/home/vagrant/qs/app/Mail/VerifyEmail.php", the first will be used.
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: laravel/ui
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
vagrant@homestead:~/qs$ ls -alh /opt
total 16K
drwxr-xr-x  4 root root 4.0K Nov 28 18:20 .
drwxr-xr-x 26 root root 4.0K Nov 29 18:26 ..
drwxr-xr-x  4 root root 4.0K Nov 28 18:20 lmm
drwxr-xr-x  9 root root 4.0K Nov 28 18:09 VBoxGuestAdditions-6.0.14
vagrant@homestead:~/qs$

Virtualbox 6.0.14 & Extensions 6.0.14

composer install --no-cache

ocramius/package-versions: ...done generating version class

I'm having the same issue on virtual box 6.1

To reiterate: There is nothing I'm aware of that Homestead can do about this. It's a bug in Virtualbox since 6.0.x (Virtualbox 6.0.0 was safe for me to use to build boxes for a while, but I'm no longer able to successfully build on 6.x anymore) Meaning I'm stuck using the latest version 6.1.x to build Homestead with.

I raised this issue with Virtualbox https://www.virtualbox.org/ticket/18776 And was met with less than helpful comments from someone who had no business replying to the ticket.

The future versions of Homestead will be built on Virtualbox 6.1.x and the only thing I can recommend is people stop using this terrible provider (Virtualbox).

If you're on MacOS: you can use Parallels (Disclaimer: they provide me a free license because of my OSS work on Homestead). The tradeoff is slightly larger VM image sizes but much more reliable than Virtualbox. Even if they didn't provide me a license this is something I would 100% purchase.

If you're on Windows: Hyper-V has come a long way. You can even see some of the Vagrant team working on getting Vagrant in WSL working. The only downside to using Hyper-V today is networking. Hyper-V still lacks the ability to honor network settings assigned by Vagrant. If you're a network wizard configuring your Hyper-V virtual switch to give a reliable IP shouldn't be terrible.

If you're on Linux: Ironically enough Linux is the one platform where I haven't run Virtualbox very much so I'm honestly not sure if it's the same situation in regards to file sharing.

Last Resort: VMware - VMware is a paid product and you have to buy a Vagrant license to use VMware providers. You'll have better VM performance and folder sharing in VMware over Virtualbox any day of the week. But it's been my experience that VMware tooling is quite finicky and I often have to completely reinstall their products to be able to generate good builds. I've never understood why, but it's a thing for me.

Good luck, godspeed and someone find a bug bounty I can donate to get Virtualbox to solve this issue.

Ok, switching will be annoying since I have a lot of boxes running on virtual box already.

I don't understand this statement:

The future versions of Homestead will be built on Virtualbox 6.1.x

Does that mean that homestead v12 for example will work again with Virtualbox ?

I don't understand this statement:

The future versions of Homestead will be built on Virtualbox 6.1.x

Does that mean that homestead v12 for example will work again?

It means for a long time we got around this bug because I was able to build the base box on Virtualbox 6.0.0 Recently that stopped working due to some incompatibility with the workflow/tools.

This means any future releases of Homestead base box will be built with Virtualbox 6.1.x unless otherwise noted. (This includes the beta released yesterday)

To be perfectly clear: This issue will reappear until it's fixed upstream in a Virtualbox release and there's no longer anything I can do about it other than warn users.

I know of 2 workarounds. Not great - but at least we can live with it.

I have just updated to the latest vagrant, homestead box, homestead git repo, and VirtualBox.

Workaround 1

Strangely composer install works fine for me, but npm install fails with this problem. However, as a workaround yarn install works fine. I am not sure why composer works okay though.

Workaround 2

The other workaround I know of is to put the node_modules folder on a non-mounted directory (e.g., ~/node_modules_project_name). Then symlink your Laravel node_modules directory to that one. With the actual node_module directory sitting on the VM (and not on a mounted folder) then you don't run into this problem. You can do the same trick with the vendor folder for composer.

Because this still fails (yes, due to a VirtualBox error) and our team NEEDS it to work - I have coded a functional workaround that adds a delay when it detects that it is running under a standard vagrant Virtualbox instance (through a very rudimentary check for the /vagrant folder). While not ideal, for teams that are in the same boat as ours until this is fixed properly this will get you up and running:

https://github.com/Cyberitas/composer/releases/tag/v1.10.7-vbox

Simply use this version of composer.phar instead of the production releases, and skip any composer self-update steps.

Because this still fails (yes, due to a VirtualBox error) and our team NEEDS it to work - I have coded a functional workaround that adds a delay when it detects that it is running under a standard vagrant Virtualbox instance (through a very rudimentary check for the /vagrant folder). While not ideal, for teams that are in the same boat as ours until this is fixed properly this will get you up and running:

https://github.com/Cyberitas/composer/releases/tag/v1.10.7-vbox

Glad you got it working but this sounds terrifying. IMHO the better option is to run these commands on your host machine.

https://github.com/Cyberitas/composer/releases/tag/v1.10.7-vbox

Glad you got it working but this sounds terrifying. IMHO the better option is to run these commands on your host machine.

The risk running locally is that varying host PHP versions and OS differences can write incompatible libraries to the checked-in project lock-file that are more likely to introduce production failures (thus defeating some of the benefits of vagrant/VirtualBox). As frustrating as adding a 2-second delay to the file operations in composer is, it is less risky than having a developer check-in a lock file that could break a production artifact.

We've discussed putting an engineering team on reviewing the Virtualbox source, but at this point, it has been more cost-effective for our company to simply use the patched composer.

If the community has any other potential workaround ideas, we are happy to aid in the development of them (we have enterprise IoT, OS, web, and app developers).

I made it work with the option "--prefer-source" of composer install. It took a longer time but the installation worked.

https://github.com/codisart
This helped me a lot homez THANK YOU!! ... had an issue with --no-plugins, needed the plugins ... This was a life saver!

Hi @svpernova09! Thank you so much for your work tracking this issue down!

Could you please share how exactly you were able to fix this? I was able to run the latest Homestead v11.0.1 no problem on VirtualBox 6.1 with shared folders.

But the problem is that I need to build my custom box from scratch and this bug keeps occuring for me on the very same VirtualBox 6.1 when I build the box from scratch.

So I wonder how you were able to work this around? Is that a specific version of Guest Additions or a custom composer build? Thank you so much for sharing!

Hi @svpernova09! Thank you so much for your work tracking this issue down!

Could you please share how exactly you were able to fix this? I was able to run the latest Homestead v11.0.1 no problem on VirtualBox 6.1 with shared folders.

But the problem is that I need to build my custom box from scratch and this bug keeps occuring for me on the very same VirtualBox 6.1 when I build the box from scratch.

So I wonder how you were able to work this around? Is that a specific version of Guest Additions or a custom composer build? Thank you so much for sharing!

I really wish I could explain this but I can't. My best guess is that the original bug was introduced sometime between Virtualbox 6.0.0 -> 6.0.4 releases and persisted into some 6.1 builds as well. My temporary workaround was to build the base boxes using Virtualbox 6.0.0 and it worked well for a while. However it stopped working on my system and I was forced to upgrade to 6.1. Knowing this issue was likely to return since there hasn't been any clear information from Virtualbox about what I'm calling a bug deep into the Virtualbox synced folders implementation.

I'm glad to hear the latest box version is working for you. It shouldn't have anything to do with the version of Guest Additions. Homestead doesn't actually require them to operate (contrary to what I thought for a really long time). You can see what versions of the guest additions are installed by running ls /opt which should contain a Virtualbox folder with a guest extension version.

At this point I'm using the latest Virtualbox to build base boxes, Virtualbox Version 6.1.12 r139181 (Qt5.6.2).

  • composer install --no-plugins --no-scripts
  • composer install

I don't have the liberty of updating/changing any versions for this current project, but @VincentLanglet's solution worked for me.

I found a way to troubleshooting this error. In my case, I used not the last version of Virtual Box. I updated and deleted the vagrant box. Installed a new version of Virtual Box. That's all.

@codisart you da man!! thanks!

Does this mean we should create an issue in Virtualbox repository ?

I would LOVE to see this, but after looking through their bug tracker I'm pretty overwhelmed at where to even begin. I tried to use the latest development build but it wouldn't even install.

This only really confirms my suspicions and verifies that this isn't a Homestead issue, but a Virtualbox one. I'm going to poke around and see what I can do, but I'm not hopeful there's much we'll be able to do here.

Creating an issue in Virtualbox with the link of you repo seems like the best things to do ; but I didn't look at their bug tracker.

FYI, the solution I took is

  • use type: nfs
  • composer install --no-plugins --no-scripts
  • composer install

This way I have no error during the installation, and not permission errors.

the best solution.

randomly popping in, I've hit this bug in another project, and have been creating repro steps and tracing down kernel debugging info inside virtualbox. that info is documented in:
https://www.virtualbox.org/ticket/8761
I believe that issue is either the same or very closely related to what you guys are hitting here.

Apologies for the spam, I'm spreading this around so if people are trying to get the bottom of it, they have good breadcrumbs.

I found a way to troubleshooting this error. In my case I Just Update Composer into version 2.x

composer self-update --2

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mattmcdonald-uk picture mattmcdonald-uk  ยท  3Comments

m4olivei picture m4olivei  ยท  4Comments

mtpultz picture mtpultz  ยท  4Comments

svpernova09 picture svpernova09  ยท  5Comments

leandroruel picture leandroruel  ยท  4Comments