Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

chris6789's avatar

Install on Windows fails

Trying to get started using Windows 10 and WSL 2. Docker Desktop is installed and setup according to the docs.

curl -s https://laravel.build/example-app | bash

Returns the following:

latest: Pulling from laravelsail/php82-composer
Digest: sha256:37549f980be6146efcb16b0dc352644edfc5cca32b9862494631eb197ef89737
Status: Image is up to date for laravelsail/php82-composer:latest

   _                               _
  | |                             | |
  | |     __ _ _ __ __ ___   _____| |
  | |    / _` | '__/ _` \ \ / / _ \ |
  | |___| (_| | | | (_| |\ V /  __/ |
  |______\__,_|_|  \__,_| \_/ \___|_|

   WARN  TTY mode requires /dev/tty to be read/writable.

    Creating a "laravel/laravel" project at "./example-app-04"
    Info from https://repo.packagist.org: #StandWithUkraine
    Installing laravel/laravel (v10.0.3)
      - Downloading laravel/laravel (v10.0.3)
      - Installing laravel/laravel (v10.0.3): Extracting archive
    Created project in /opt/example-app-04
    > @php -r "file_exists('.env') || copy('.env.example', '.env');"
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 106 installs, 0 updates, 0 removals
      - Locking brick/math (0.10.2)
  - Locking dflydev/dot-access-data (v3.0.2)
  - Locking doctrine/inflector (2.0.6)
      - Locking doctrine/lexer (3.0.0)
  - Locking dragonmantank/cron-expression (v3.3.2)
  - Locking egulias/email-validator (4.0.1)
      - Locking fakerphp/faker (v1.21.0)
      - Locking filp/whoops (2.14.6)
  - Locking fruitcake/php-cors (v1.2.0)
  - Locking graham-campbell/result-type (v1.1.1)
      - Locking guzzlehttp/guzzle (7.5.0)
  - Locking guzzlehttp/promises (1.5.2)
      - Locking guzzlehttp/psr7 (2.4.3)
  - Locking guzzlehttp/uri-template (v1.0.1)
  - Locking hamcrest/hamcrest-php (v2.0.1)
      - Locking laravel/framework (v10.1.5)
      - Locking laravel/pint (v1.6.0)
  - Locking laravel/sail (v1.21.0)
      - Locking laravel/sanctum (v3.2.1)
  - Locking laravel/serializable-closure (v1.3.0)
      - Locking laravel/tinker (v2.8.1)
      - Locking league/commonmark (2.3.9)
  - Locking league/config (v1.2.0)
      - Locking league/flysystem (3.12.3)
  - Locking league/mime-type-detection (1.11.0)
      - Locking mockery/mockery (1.5.1)
      - Locking monolog/monolog (3.3.1)
  - Locking myclabs/deep-copy (1.11.0)
      - Locking nesbot/carbon (2.66.0)
  - Locking nette/schema (v1.2.3)
      - Locking nette/utils (v4.0.0)
  - Locking nikic/php-parser (v4.15.3)
  - Locking nunomaduro/collision (v7.0.5)
  - Locking nunomaduro/termwind (v1.15.1)
  - Locking phar-io/manifest (2.0.3)
  - Locking phar-io/version (3.2.1)
  - Locking phpoption/phpoption (1.9.1)
      - Locking phpunit/php-code-coverage (10.0.1)
  - Locking phpunit/php-file-iterator (4.0.1)
      - Locking phpunit/php-invoker (4.0.0)
  - Locking phpunit/php-text-template (3.0.0)
      - Locking phpunit/php-timer (6.0.0)
      - Locking phpunit/phpunit (10.0.12)
  - Locking psr/container (2.0.2)
  - Locking psr/event-dispatcher (1.0.0)
      - Locking psr/http-client (1.0.1)
  - Locking psr/http-factory (1.0.1)
  - Locking psr/http-message (1.0.1)
  - Locking psr/log (3.0.0)
  - Locking psr/simple-cache (3.0.0)
  - Locking psy/psysh (v0.11.12)
      - Locking ralouphie/getallheaders (3.0.3)
  - Locking ramsey/collection (2.0.0)
  - Locking ramsey/uuid (4.7.3)
      - Locking sebastian/cli-parser (2.0.0)
  - Locking sebastian/code-unit (2.0.0)
      - Locking sebastian/code-unit-reverse-lookup (3.0.0)
  - Locking sebastian/comparator (5.0.0)
  - Locking sebastian/complexity (3.0.0)
  - Locking sebastian/diff (5.0.0)
      - Locking sebastian/environment (6.0.0)
  - Locking sebastian/exporter (5.0.0)
      - Locking sebastian/global-state (6.0.0)
      - Locking sebastian/lines-of-code (2.0.0)
  - Locking sebastian/object-enumerator (5.0.0)
  - Locking sebastian/object-reflector (3.0.0)
  - Locking sebastian/recursion-context (5.0.0)
  - Locking sebastian/type (4.0.0)
  - Locking sebastian/version (4.0.1)
  - Locking spatie/backtrace (1.2.2)
  - Locking spatie/flare-client-php (1.3.5)
  - Locking spatie/ignition (1.4.3)
  - Locking spatie/laravel-ignition (2.0.0)
      - Locking symfony/console (v6.2.5)
  - Locking symfony/css-selector (v6.2.5)
  - Locking symfony/deprecation-contracts (v3.2.0)
  - Locking symfony/error-handler (v6.2.5)
  - Locking symfony/event-dispatcher (v6.2.5)
  - Locking symfony/event-dispatcher-contracts (v3.2.0)
  - Locking symfony/finder (v6.2.5)
      - Locking symfony/http-foundation (v6.2.6)
  - Locking symfony/http-kernel (v6.2.6)
  - Locking symfony/mailer (v6.2.5)
  - Locking symfony/mime (v6.2.5)
  - Locking symfony/polyfill-ctype (v1.27.0)
  - Locking symfony/polyfill-intl-grapheme (v1.27.0)
  - Locking symfony/polyfill-intl-idn (v1.27.0)
      - Locking symfony/polyfill-intl-normalizer (v1.27.0)
  - Locking symfony/polyfill-mbstring (v1.27.0)
      - Locking symfony/polyfill-php72 (v1.27.0)
  - Locking symfony/polyfill-php80 (v1.27.0)
      - Locking symfony/polyfill-uuid (v1.27.0)
  - Locking symfony/process (v6.2.5)
      - Locking symfony/routing (v6.2.5)
      - Locking symfony/service-contracts (v3.2.0)
  - Locking symfony/string (v6.2.5)
      - Locking symfony/translation (v6.2.5)
      - Locking symfony/translation-contracts (v3.2.0)
  - Locking symfony/uid (v6.2.5)
  - Locking symfony/var-dumper (v6.2.5)
  - Locking symfony/yaml (v6.2.5)
      - Locking theseer/tokenizer (1.2.1)
  - Locking tijsverkoyen/css-to-inline-styles (2.2.6)
      - Locking vlucas/phpdotenv (v5.5.0)
      - Locking voku/portable-ascii (2.0.1)
  - Locking webmozart/assert (1.11.0)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 106 installs, 0 updates, 0 removals
      - Downloading doctrine/inflector (2.0.6)
      - Downloading doctrine/lexer (3.0.0)
      - Downloading webmozart/assert (1.11.0)
      - Downloading dragonmantank/cron-expression (v3.3.2)
      - Downloading fakerphp/faker (v1.21.0)
      - Downloading symfony/http-foundation (v6.2.6)
      - Downloading fruitcake/php-cors (v1.2.0)
      - Downloading psr/http-message (1.0.1)
      - Downloading psr/http-client (1.0.1)
      - Downloading ralouphie/getallheaders (3.0.3)
      - Downloading psr/http-factory (1.0.1)
      - Downloading guzzlehttp/psr7 (2.4.3)
      - Downloading guzzlehttp/promises (1.5.2)
      - Downloading guzzlehttp/guzzle (7.5.0)
      - Downloading symfony/polyfill-php80 (v1.27.0)
      - Downloading guzzlehttp/uri-template (v1.0.1)
      - Downloading laravel/pint (v1.6.0)
      - Downloading symfony/yaml (v6.2.5)
      - Downloading voku/portable-ascii (2.0.1)
      - Downloading phpoption/phpoption (1.9.1)
      - Downloading graham-campbell/result-type (v1.1.1)
      - Downloading vlucas/phpdotenv (v5.5.0)
      - Downloading symfony/css-selector (v6.2.5)
      - Downloading tijsverkoyen/css-to-inline-styles (2.2.6)
      - Downloading symfony/var-dumper (v6.2.5)
      - Downloading symfony/polyfill-uuid (v1.27.0)
      - Downloading symfony/uid (v6.2.5)
      - Downloading symfony/routing (v6.2.5)
      - Downloading symfony/polyfill-php72 (v1.27.0)
      - Downloading symfony/polyfill-intl-idn (v1.27.0)
      - Downloading symfony/mime (v6.2.5)
      - Downloading psr/event-dispatcher (1.0.0)
      - Downloading symfony/event-dispatcher-contracts (v3.2.0)
      - Downloading symfony/event-dispatcher (v6.2.5)
      - Downloading psr/log (3.0.0)
      - Downloading egulias/email-validator (4.0.1)
      - Downloading symfony/mailer (v6.2.5)
      - Downloading symfony/error-handler (v6.2.5)
      - Downloading symfony/http-kernel (v6.2.6)
      - Downloading symfony/finder (v6.2.5)
      - Downloading ramsey/collection (2.0.0)
      - Downloading brick/math (0.10.2)
      - Downloading ramsey/uuid (4.7.3)
      - Downloading psr/simple-cache (3.0.0)
      - Downloading nunomaduro/termwind (v1.15.1)
      - Downloading symfony/translation-contracts (v3.2.0)
      - Downloading symfony/translation (v6.2.5)
      - Downloading nesbot/carbon (2.66.0)
      - Downloading monolog/monolog (3.3.1)
      - Downloading league/mime-type-detection (1.11.0)
      - Downloading league/flysystem (3.12.3)
      - Downloading nette/utils (v4.0.0)
      - Downloading nette/schema (v1.2.3)
      - Downloading dflydev/dot-access-data (v3.0.2)
      - Downloading league/config (v1.2.0)
      - Downloading league/commonmark (2.3.9)
      - Downloading laravel/serializable-closure (v1.3.0)
      - Downloading laravel/framework (v10.1.5)
      - Downloading laravel/sail (v1.21.0)
      - Downloading laravel/sanctum (v3.2.1)
      - Downloading psy/psysh (v0.11.12)
      - Downloading laravel/tinker (v2.8.1)
      - Downloading hamcrest/hamcrest-php (v2.0.1)
      - Downloading mockery/mockery (1.5.1)
      - Downloading filp/whoops (2.14.6)
      - Downloading nunomaduro/collision (v7.0.5)
      - Downloading sebastian/version (4.0.1)
      - Downloading sebastian/type (4.0.0)
      - Downloading sebastian/recursion-context (5.0.0)
      - Downloading sebastian/object-reflector (3.0.0)
      - Downloading sebastian/object-enumerator (5.0.0)
      - Downloading sebastian/global-state (6.0.0)
      - Downloading sebastian/exporter (5.0.0)
      - Downloading sebastian/environment (6.0.0)
      - Downloading sebastian/diff (5.0.0)
      - Downloading sebastian/comparator (5.0.0)
      - Downloading sebastian/code-unit (2.0.0)
      - Downloading sebastian/cli-parser (2.0.0)
      - Downloading phpunit/php-timer (6.0.0)
      - Downloading phpunit/php-text-template (3.0.0)
      - Downloading phpunit/php-invoker (4.0.0)
      - Downloading phpunit/php-file-iterator (4.0.1)
      - Downloading sebastian/lines-of-code (2.0.0)
      - Downloading sebastian/complexity (3.0.0)
      - Downloading sebastian/code-unit-reverse-lookup (3.0.0)
      - Downloading phpunit/php-code-coverage (10.0.1)
      - Downloading phpunit/phpunit (10.0.12)
      - Downloading spatie/backtrace (1.2.2)
      - Downloading spatie/flare-client-php (1.3.5)
      - Downloading spatie/ignition (1.4.3)
      - Downloading spatie/laravel-ignition (2.0.0)
      - Installing doctrine/inflector (2.0.6): Extracting archive
      - Installing doctrine/lexer (3.0.0): Extracting archive
      - Installing symfony/polyfill-ctype (v1.27.0): Extracting archive
      - Installing webmozart/assert (1.11.0): Extracting archive
      - Installing dragonmantank/cron-expression (v3.3.2): Extracting archive
      - Installing symfony/deprecation-contracts (v3.2.0): Extracting archive
      - Installing psr/container (2.0.2): Extracting archive
      - Installing fakerphp/faker (v1.21.0): Extracting archive
      - Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive
      - Installing symfony/http-foundation (v6.2.6): Extracting archive
      - Installing fruitcake/php-cors (v1.2.0): Extracting archive
      - Installing psr/http-message (1.0.1): Extracting archive
      - Installing psr/http-client (1.0.1): Extracting archive
      - Installing ralouphie/getallheaders (3.0.3): Extracting archive
      - Installing psr/http-factory (1.0.1): Extracting archive
      - Installing guzzlehttp/psr7 (2.4.3): Extracting archive
      - Installing guzzlehttp/promises (1.5.2): Extracting archive
      - Installing guzzlehttp/guzzle (7.5.0): Extracting archive
      - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive
      - Installing guzzlehttp/uri-template (v1.0.1): Extracting archive
      - Installing laravel/pint (v1.6.0): Extracting archive
      - Installing symfony/yaml (v6.2.5): Extracting archive
      - Installing voku/portable-ascii (2.0.1): Extracting archive
      - Installing phpoption/phpoption (1.9.1): Extracting archive
      - Installing graham-campbell/result-type (v1.1.1): Extracting archive
      - Installing vlucas/phpdotenv (v5.5.0): Extracting archive
      - Installing symfony/css-selector (v6.2.5): Extracting archive
      - Installing tijsverkoyen/css-to-inline-styles (2.2.6): Extracting archive
      - Installing symfony/var-dumper (v6.2.5): Extracting archive
      - Installing symfony/polyfill-uuid (v1.27.0): Extracting archive
      - Installing symfony/uid (v6.2.5): Extracting archive
      - Installing symfony/routing (v6.2.5): Extracting archive
      - Installing symfony/process (v6.2.5): Extracting archive
      - Installing symfony/polyfill-php72 (v1.27.0): Extracting archive
      - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive
      - Installing symfony/polyfill-intl-idn (v1.27.0): Extracting archive
      - Installing symfony/mime (v6.2.5): Extracting archive
      - Installing symfony/service-contracts (v3.2.0): Extracting archive
      - Installing psr/event-dispatcher (1.0.0): Extracting archive
      - Installing symfony/event-dispatcher-contracts (v3.2.0): Extracting archive
      - Installing symfony/event-dispatcher (v6.2.5): Extracting archive
      - Installing psr/log (3.0.0): Extracting archive
      - Installing egulias/email-validator (4.0.1): Extracting archive
      - Installing symfony/mailer (v6.2.5): Extracting archive
      - Installing symfony/error-handler (v6.2.5): Extracting archive
      - Installing symfony/http-kernel (v6.2.6): Extracting archive
      - Installing symfony/finder (v6.2.5): Extracting archive
      - Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive
      - Installing symfony/string (v6.2.5): Extracting archive
      - Installing symfony/console (v6.2.5): Extracting archive
      - Installing ramsey/collection (2.0.0): Extracting archive
      - Installing brick/math (0.10.2): Extracting archive
      - Installing ramsey/uuid (4.7.3): Extracting archive
      - Installing psr/simple-cache (3.0.0): Extracting archive
      - Installing nunomaduro/termwind (v1.15.1): Extracting archive
      - Installing symfony/translation-contracts (v3.2.0): Extracting archive
      - Installing symfony/translation (v6.2.5): Extracting archive
      - Installing nesbot/carbon (2.66.0): Extracting archive
      - Installing monolog/monolog (3.3.1): Extracting archive
      - Installing league/mime-type-detection (1.11.0): Extracting archive
      - Installing league/flysystem (3.12.3): Extracting archive
      - Installing nette/utils (v4.0.0): Extracting archive
      - Installing nette/schema (v1.2.3): Extracting archive
      - Installing dflydev/dot-access-data (v3.0.2): Extracting archive
      - Installing league/config (v1.2.0): Extracting archive
      - Installing league/commonmark (2.3.9): Extracting archive
      - Installing laravel/serializable-closure (v1.3.0): Extracting archive
      - Installing laravel/framework (v10.1.5): Extracting archive
      - Installing laravel/sail (v1.21.0): Extracting archive
      - Installing laravel/sanctum (v3.2.1): Extracting archive
      - Installing nikic/php-parser (v4.15.3): Extracting archive
      - Installing psy/psysh (v0.11.12): Extracting archive
      - Installing laravel/tinker (v2.8.1): Extracting archive
      - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
      - Installing mockery/mockery (1.5.1): Extracting archive
      - Installing filp/whoops (2.14.6): Extracting archive
      - Installing nunomaduro/collision (v7.0.5): Extracting archive
      - Installing sebastian/version (4.0.1): Extracting archive
      - Installing sebastian/type (4.0.0): Extracting archive
      - Installing sebastian/recursion-context (5.0.0): Extracting archive
      - Installing sebastian/object-reflector (3.0.0): Extracting archive
      - Installing sebastian/object-enumerator (5.0.0): Extracting archive
      - Installing sebastian/global-state (6.0.0): Extracting archive
      - Installing sebastian/exporter (5.0.0): Extracting archive
      - Installing sebastian/environment (6.0.0): Extracting archive
      - Installing sebastian/diff (5.0.0): Extracting archive
      - Installing sebastian/comparator (5.0.0): Extracting archive
      - Installing sebastian/code-unit (2.0.0): Extracting archive
      - Installing sebastian/cli-parser (2.0.0): Extracting archive
      - Installing phpunit/php-timer (6.0.0): Extracting archive
      - Installing phpunit/php-text-template (3.0.0): Extracting archive
      - Installing phpunit/php-invoker (4.0.0): Extracting archive
      - Installing phpunit/php-file-iterator (4.0.1): Extracting archive
      - Installing theseer/tokenizer (1.2.1): Extracting archive
      - Installing sebastian/lines-of-code (2.0.0): Extracting archive
      - Installing sebastian/complexity (3.0.0): Extracting archive
      - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
      - Installing phpunit/php-code-coverage (10.0.1): Extracting archive
      - Installing phar-io/version (3.2.1): Extracting archive
      - Installing phar-io/manifest (2.0.3): Extracting archive
      - Installing myclabs/deep-copy (1.11.0): Extracting archive
      - Installing phpunit/phpunit (10.0.12): Extracting archive
      - Installing spatie/backtrace (1.2.2): Extracting archive
      - Installing spatie/flare-client-php (1.3.5): Extracting archive
      - Installing spatie/ignition (1.4.3): Extracting archive
      - Installing spatie/laravel-ignition (2.0.0): Extracting archive
        Install of fakerphp/faker failed
        Install of nesbot/carbon failed
        Install of league/commonmark failed
        Install of laravel/framework failed
        Install of nikic/php-parser failed
        Install of psy/psysh failed
        Install of hamcrest/hamcrest-php failed
        Install of mockery/mockery failed
        Install of nunomaduro/collision failed
        Install of sebastian/type failed

    In Filesystem.php line 314:

  Could not delete /opt/example-app-04/vendor/composer/6cafc08b/briannesbitt-
  Carbon-4967128/src/Carbon/Lang:


    create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [<package> [<directory> [<version>]]]

no configuration file provided: not found
no configuration file provided: not found
no configuration file provided: not found
no configuration file provided: not found

Get started with: cd example-app-04 && ./vendor/bin/sail up

Anyone have any ideas on where to go from here?

Thank you!

0 likes
4 replies
bobbybouwmann's avatar

It sounds like your composer directory is broken. I would advice to run the following commands

composer clear-cache

After that, delete the vendor directory in your project and run composer install again.

jedidiah's avatar

Were you able to solve this? I am getting this error too. WSL2 + Docker. Same curl command.

n0cturn0's avatar

When using Docker compose, each service gets a local Docker DNS entry with its service name (unless configured differently), so the service mysql will be reachable at mysql, no need to mess with IPs that might change.

Example.:

DB_CONNECTION=mysql

DB_HOST=mysql

DB_PORT=3306

DB_DATABASE=database

DB_USERNAME=sail

DB_PASSWORD=password

Please or to participate in this conversation.