laravel / horizon

Dashboard and code-driven configuration for Laravel queues.
https://laravel.com/docs/horizon
MIT License
3.87k stars 657 forks source link

bug: installing Horizon into new project fails on composer #1131

Closed sts-ryan-holton closed 2 years ago

sts-ryan-holton commented 2 years ago

Description:

Trying to install Laravel Horizon into my Laravel 8 project locally but am getting an error message at the thirst part, composer require laravel/horizon and need to know what I'm missing, my composer.json file dependencies are:

"require": {
    "php": "^7.3",
    "bacon/bacon-qr-code": "1.0.3",
    "doctrine/dbal": "^2.11",
    "fideloper/proxy": "^4.4.1",
    "fruitcake/laravel-cors": "^2.0.3",
    "geerlingguy/ping": "1.2.1",
    "guzzlehttp/guzzle": "^7.0.1",
    "laravel/cashier": "13.8.3",
    "laravel/framework": "8.83.2",
    "laravel/nexmo-notification-channel": "^2.5",
    "laravel/slack-notification-channel": "^2.3",
    "laravel/telescope": "4.7.4",
    "laravel/tinker": "2.7.0",
    "laravel/ui": "^3.0",
    "lcobucci/jwt": "3.3.3",
    "nesbot/carbon": "2.55.2",
    "nexmo/laravel": "^2.4",
    "pragmarx/google2fa-laravel": "1.4.*",
    "spatie/laravel-schedule-monitor": "2.0.2",
    "symfony/process": "5.4.2",
    "tymon/jwt-auth": "1.0.1"
},
"require-dev": {
    "facade/ignition": "^2.3.6",
    "fzaninotto/faker": "^1.9.1",
    "mockery/mockery": "^1.3.1",
    "nunomaduro/collision": "^5.0",
    "phpunit/phpunit": "^9.3"
},

install-error

mfn commented 2 years ago

What PHP version are you using?

I tried with your composer.json and it just worked correctly.

Installing packages ``` ⏱ 2022-03-13 22:27:39 📁 ~/tmp/composer-test + $ composer update Loading composer repositories with package information Info from https://repo.packagist.org: #StandWithUkraine Updating dependencies Lock file operations: 143 installs, 0 updates, 0 removals - Locking asm89/stack-cors (v2.1.1) - Locking bacon/bacon-qr-code (1.0.3) - Locking brick/math (0.9.3) - Locking composer/package-versions-deprecated (1.11.99.5) - Locking dflydev/dot-access-data (v3.0.1) - Locking doctrine/cache (2.1.1) - Locking doctrine/dbal (2.13.8) - Locking doctrine/deprecations (v0.5.3) - Locking doctrine/event-manager (1.1.1) - Locking doctrine/inflector (2.0.4) - Locking doctrine/instantiator (1.4.1) - Locking doctrine/lexer (1.2.3) - Locking dompdf/dompdf (v1.2.0) - Locking dragonmantank/cron-expression (v3.3.1) - Locking egulias/email-validator (2.1.25) - Locking facade/flare-client-php (1.9.1) - Locking facade/ignition (2.17.5) - Locking facade/ignition-contracts (1.0.2) - Locking fideloper/proxy (4.4.1) - Locking filp/whoops (2.14.5) - Locking fruitcake/laravel-cors (v2.2.0) - Locking fzaninotto/faker (v1.9.2) - Locking geerlingguy/ping (1.2.1) - Locking graham-campbell/result-type (v1.0.4) - Locking guzzlehttp/guzzle (7.4.1) - Locking guzzlehttp/promises (1.5.1) - Locking guzzlehttp/psr7 (2.1.0) - Locking hamcrest/hamcrest-php (v2.0.1) - Locking laminas/laminas-diactoros (2.8.0) - Locking laravel/cashier (v13.8.3) - Locking laravel/framework (v8.83.2) - Locking laravel/nexmo-notification-channel (v2.5.1) - Locking laravel/serializable-closure (v1.1.1) - Locking laravel/slack-notification-channel (v2.4.0) - Locking laravel/telescope (v4.7.4) - Locking laravel/tinker (v2.7.0) - Locking laravel/ui (v3.4.5) - Locking lcobucci/jwt (3.3.3) - Locking league/commonmark (2.2.3) - Locking league/config (v1.1.1) - Locking league/flysystem (1.1.9) - Locking league/mime-type-detection (1.9.0) - Locking lorisleiva/cron-translator (v0.1.1) - Locking mockery/mockery (1.5.0) - Locking moneyphp/money (v3.3.1) - Locking monolog/monolog (2.3.5) - Locking myclabs/deep-copy (1.11.0) - Locking namshi/jose (7.2.3) - Locking nesbot/carbon (2.55.2) - Locking nette/schema (v1.2.2) - Locking nette/utils (v3.2.7) - Locking nexmo/laravel (2.4.1) - Locking nikic/php-parser (v4.13.2) - Locking nunomaduro/collision (v5.11.0) - Locking opis/closure (3.6.3) - Locking paragonie/constant_time_encoding (v2.5.0) - Locking phar-io/manifest (2.0.3) - Locking phar-io/version (3.2.1) - Locking phenx/php-font-lib (0.5.4) - Locking phenx/php-svg-lib (0.4.1) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.3.0) - Locking phpdocumentor/type-resolver (1.6.0) - Locking phpoption/phpoption (1.8.1) - Locking phpspec/prophecy (v1.15.0) - Locking phpunit/php-code-coverage (9.2.15) - Locking phpunit/php-file-iterator (3.0.6) - Locking phpunit/php-invoker (3.1.1) - Locking phpunit/php-text-template (2.0.4) - Locking phpunit/php-timer (5.0.3) - Locking phpunit/phpunit (9.5.18) - Locking pragmarx/google2fa (8.0.0) - Locking pragmarx/google2fa-laravel (v1.4.1) - Locking pragmarx/google2fa-qrcode (v1.0.3) - Locking psr/container (1.1.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 (1.1.4) - Locking psr/simple-cache (1.0.1) - Locking psy/psysh (v0.11.2) - Locking ralouphie/getallheaders (3.0.3) - Locking ramsey/collection (1.2.2) - Locking ramsey/uuid (4.2.3) - Locking sabberworm/php-css-parser (8.4.0) - Locking sebastian/cli-parser (1.0.1) - Locking sebastian/code-unit (1.0.8) - Locking sebastian/code-unit-reverse-lookup (2.0.3) - Locking sebastian/comparator (4.0.6) - Locking sebastian/complexity (2.0.2) - Locking sebastian/diff (4.0.4) - Locking sebastian/environment (5.1.3) - Locking sebastian/exporter (4.0.4) - Locking sebastian/global-state (5.0.5) - Locking sebastian/lines-of-code (1.0.3) - Locking sebastian/object-enumerator (4.0.4) - Locking sebastian/object-reflector (2.0.4) - Locking sebastian/recursion-context (4.0.4) - Locking sebastian/resource-operations (3.0.3) - Locking sebastian/type (2.3.4) - Locking sebastian/version (3.0.2) - Locking spatie/laravel-schedule-monitor (2.0.2) - Locking stripe/stripe-php (v7.116.0) - Locking swiftmailer/swiftmailer (v6.3.0) - Locking symfony/console (v5.4.5) - Locking symfony/css-selector (v5.4.3) - Locking symfony/deprecation-contracts (v2.5.0) - Locking symfony/error-handler (v5.4.3) - Locking symfony/event-dispatcher (v5.4.3) - Locking symfony/event-dispatcher-contracts (v2.5.0) - Locking symfony/finder (v5.4.3) - Locking symfony/http-foundation (v5.4.6) - Locking symfony/http-kernel (v5.4.6) - Locking symfony/mime (v5.4.3) - Locking symfony/polyfill-ctype (v1.25.0) - Locking symfony/polyfill-iconv (v1.25.0) - Locking symfony/polyfill-intl-grapheme (v1.25.0) - Locking symfony/polyfill-intl-icu (v1.25.0) - Locking symfony/polyfill-intl-idn (v1.25.0) - Locking symfony/polyfill-intl-normalizer (v1.25.0) - Locking symfony/polyfill-mbstring (v1.25.0) - Locking symfony/polyfill-php56 (v1.20.0) - Locking symfony/polyfill-php72 (v1.25.0) - Locking symfony/polyfill-php73 (v1.25.0) - Locking symfony/polyfill-php80 (v1.25.0) - Locking symfony/polyfill-php81 (v1.25.0) - Locking symfony/process (v5.4.2) - Locking symfony/routing (v5.4.3) - Locking symfony/service-contracts (v2.5.0) - Locking symfony/string (v5.4.3) - Locking symfony/translation (v5.4.6) - Locking symfony/translation-contracts (v2.5.0) - Locking symfony/var-dumper (v5.4.6) - Locking theseer/tokenizer (1.2.1) - Locking tijsverkoyen/css-to-inline-styles (2.2.4) - Locking tymon/jwt-auth (1.0.1) - Locking vlucas/phpdotenv (v5.4.1) - Locking voku/portable-ascii (1.6.1) - Locking vonage/client (2.4.0) - Locking vonage/client-core (v2.6.0) - Locking vonage/nexmo-bridge (0.1.1) - Locking webmozart/assert (1.10.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 143 installs, 0 updates, 0 removals - Downloading composer/package-versions-deprecated (1.11.99.5) - Downloading doctrine/dbal (2.13.8) - Downloading doctrine/lexer (1.2.3) - Downloading symfony/polyfill-php80 (v1.25.0) - Downloading symfony/var-dumper (v5.4.6) - Downloading symfony/console (v5.4.5) - Downloading symfony/http-foundation (v5.4.6) - Downloading symfony/http-kernel (v5.4.6) - Downloading symfony/translation (v5.4.6) - Downloading league/commonmark (2.2.3) - Downloading laravel/framework (v8.83.2) - Downloading facade/ignition (2.17.5) - Downloading fruitcake/laravel-cors (v2.2.0) - Downloading symfony/polyfill-intl-icu (v1.25.0) - Downloading stripe/stripe-php (v7.116.0) - Downloading moneyphp/money (v3.3.1) - Downloading sabberworm/php-css-parser (8.4.0) - Downloading phenx/php-svg-lib (0.4.1) - Downloading phenx/php-font-lib (0.5.4) - Downloading dompdf/dompdf (v1.2.0) - Downloading laravel/cashier (v13.8.3) - Downloading vonage/nexmo-bridge (0.1.1) - Downloading vonage/client-core (v2.6.0) - Downloading vonage/client (2.4.0) - Downloading nexmo/laravel (2.4.1) - Downloading laravel/nexmo-notification-channel (v2.5.1) - Downloading laravel/slack-notification-channel (v2.4.0) - Downloading laravel/telescope (v4.7.4) - Downloading psy/psysh (v0.11.2) - Downloading laravel/ui (v3.4.5) - Downloading theseer/tokenizer (1.2.1) - Downloading phpunit/php-code-coverage (9.2.15) - Downloading doctrine/instantiator (1.4.1) - Downloading phar-io/version (3.2.1) - Downloading phar-io/manifest (2.0.3) - Downloading myclabs/deep-copy (1.11.0) - Downloading phpunit/phpunit (9.5.18) - Downloading pragmarx/google2fa (8.0.0) - Downloading bacon/bacon-qr-code (1.0.3) - Downloading pragmarx/google2fa-qrcode (v1.0.3) - Downloading pragmarx/google2fa-laravel (v1.4.1) - Downloading lorisleiva/cron-translator (v0.1.1) - Downloading spatie/laravel-schedule-monitor (2.0.2) - Downloading tymon/jwt-auth (1.0.1) - Installing composer/package-versions-deprecated (1.11.99.5): Extracting archive - Installing doctrine/event-manager (1.1.1): Extracting archive - Installing doctrine/deprecations (v0.5.3): Extracting archive - Installing doctrine/cache (2.1.1): Extracting archive - Installing doctrine/dbal (2.13.8): Extracting archive - Installing doctrine/inflector (2.0.4): Extracting archive - Installing doctrine/lexer (1.2.3): Extracting archive - Installing symfony/polyfill-ctype (v1.25.0): Extracting archive - Installing webmozart/assert (1.10.0): Extracting archive - Installing dragonmantank/cron-expression (v3.3.1): Extracting archive - Installing symfony/polyfill-php80 (v1.25.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.25.0): Extracting archive - Installing symfony/var-dumper (v5.4.6): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.25.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.25.0): Extracting archive - Installing symfony/string (v5.4.3): Extracting archive - Installing symfony/deprecation-contracts (v2.5.0): Extracting archive - Installing psr/container (1.1.2): Extracting archive - Installing symfony/service-contracts (v2.5.0): Extracting archive - Installing symfony/polyfill-php73 (v1.25.0): Extracting archive - Installing symfony/console (v5.4.5): Extracting archive - Installing psr/log (1.1.4): Extracting archive - Installing monolog/monolog (2.3.5): Extracting archive - Installing voku/portable-ascii (1.6.1): Extracting archive - Installing phpoption/phpoption (1.8.1): Extracting archive - Installing graham-campbell/result-type (v1.0.4): Extracting archive - Installing vlucas/phpdotenv (v5.4.1): Extracting archive - Installing symfony/css-selector (v5.4.3): Extracting archive - Installing tijsverkoyen/css-to-inline-styles (2.2.4): Extracting archive - Installing symfony/routing (v5.4.3): Extracting archive - Installing symfony/process (v5.4.2): Extracting archive - Installing symfony/polyfill-php72 (v1.25.0): Extracting archive - Installing symfony/polyfill-intl-idn (v1.25.0): Extracting archive - Installing symfony/mime (v5.4.3): Extracting archive - Installing symfony/http-foundation (v5.4.6): Extracting archive - Installing psr/event-dispatcher (1.0.0): Extracting archive - Installing symfony/event-dispatcher-contracts (v2.5.0): Extracting archive - Installing symfony/event-dispatcher (v5.4.3): Extracting archive - Installing symfony/error-handler (v5.4.3): Extracting archive - Installing symfony/http-kernel (v5.4.6): Extracting archive - Installing symfony/finder (v5.4.3): Extracting archive - Installing symfony/polyfill-iconv (v1.25.0): Extracting archive - Installing egulias/email-validator (2.1.25): Extracting archive - Installing swiftmailer/swiftmailer (v6.3.0): Extracting archive - Installing symfony/polyfill-php81 (v1.25.0): Extracting archive - Installing ramsey/collection (1.2.2): Extracting archive - Installing brick/math (0.9.3): Extracting archive - Installing ramsey/uuid (4.2.3): Extracting archive - Installing psr/simple-cache (1.0.1): Extracting archive - Installing opis/closure (3.6.3): Extracting archive - Installing symfony/translation-contracts (v2.5.0): Extracting archive - Installing symfony/translation (v5.4.6): Extracting archive - Installing nesbot/carbon (2.55.2): Extracting archive - Installing league/mime-type-detection (1.9.0): Extracting archive - Installing league/flysystem (1.1.9): Extracting archive - Installing nette/utils (v3.2.7): Extracting archive - Installing nette/schema (v1.2.2): Extracting archive - Installing dflydev/dot-access-data (v3.0.1): Extracting archive - Installing league/config (v1.1.1): Extracting archive - Installing league/commonmark (2.2.3): Extracting archive - Installing laravel/serializable-closure (v1.1.1): Extracting archive - Installing laravel/framework (v8.83.2): Extracting archive - Installing facade/ignition-contracts (1.0.2): Extracting archive - Installing facade/flare-client-php (1.9.1): Extracting archive - Installing facade/ignition (2.17.5): Extracting archive - Installing fideloper/proxy (4.4.1): Extracting archive - Installing asm89/stack-cors (v2.1.1): Extracting archive - Installing fruitcake/laravel-cors (v2.2.0): Extracting archive - Installing fzaninotto/faker (v1.9.2): Extracting archive - Installing geerlingguy/ping (1.2.1): Extracting archive - Installing guzzlehttp/promises (1.5.1): Extracting archive - Installing ralouphie/getallheaders (3.0.3): Extracting archive - Installing psr/http-message (1.0.1): Extracting archive - Installing psr/http-factory (1.0.1): Extracting archive - Installing guzzlehttp/psr7 (2.1.0): Extracting archive - Installing symfony/polyfill-intl-icu (v1.25.0): Extracting archive - Installing stripe/stripe-php (v7.116.0): Extracting archive - Installing moneyphp/money (v3.3.1): Extracting archive - Installing sabberworm/php-css-parser (8.4.0): Extracting archive - Installing phenx/php-svg-lib (0.4.1): Extracting archive - Installing phenx/php-font-lib (0.5.4): Extracting archive - Installing dompdf/dompdf (v1.2.0): Extracting archive - Installing laravel/cashier (v13.8.3): Extracting archive - Installing vonage/nexmo-bridge (0.1.1): Extracting archive - Installing psr/http-client (1.0.1): Extracting archive - Installing guzzlehttp/guzzle (7.4.1): Extracting archive - Installing lcobucci/jwt (3.3.3): Extracting archive - Installing laminas/laminas-diactoros (2.8.0): Extracting archive - Installing vonage/client-core (v2.6.0): Extracting archive - Installing vonage/client (2.4.0): Extracting archive - Installing nexmo/laravel (2.4.1): Extracting archive - Installing laravel/nexmo-notification-channel (v2.5.1): Extracting archive - Installing laravel/slack-notification-channel (v2.4.0): Extracting archive - Installing laravel/telescope (v4.7.4): Extracting archive - Installing nikic/php-parser (v4.13.2): Extracting archive - Installing psy/psysh (v0.11.2): Extracting archive - Installing laravel/tinker (v2.7.0): Extracting archive - Installing laravel/ui (v3.4.5): Extracting archive - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive - Installing mockery/mockery (1.5.0): Extracting archive - Installing filp/whoops (2.14.5): Extracting archive - Installing nunomaduro/collision (v5.11.0): Extracting archive - Installing paragonie/constant_time_encoding (v2.5.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing phpdocumentor/type-resolver (1.6.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive - Installing sebastian/version (3.0.2): Extracting archive - Installing sebastian/type (2.3.4): Extracting archive - Installing sebastian/resource-operations (3.0.3): Extracting archive - Installing sebastian/recursion-context (4.0.4): Extracting archive - Installing sebastian/object-reflector (2.0.4): Extracting archive - Installing sebastian/object-enumerator (4.0.4): Extracting archive - Installing sebastian/global-state (5.0.5): Extracting archive - Installing sebastian/exporter (4.0.4): Extracting archive - Installing sebastian/environment (5.1.3): Extracting archive - Installing sebastian/diff (4.0.4): Extracting archive - Installing sebastian/comparator (4.0.6): Extracting archive - Installing sebastian/code-unit (1.0.8): Extracting archive - Installing sebastian/cli-parser (1.0.1): Extracting archive - Installing phpunit/php-timer (5.0.3): Extracting archive - Installing phpunit/php-text-template (2.0.4): Extracting archive - Installing phpunit/php-invoker (3.1.1): Extracting archive - Installing phpunit/php-file-iterator (3.0.6): Extracting archive - Installing theseer/tokenizer (1.2.1): Extracting archive - Installing sebastian/lines-of-code (1.0.3): Extracting archive - Installing sebastian/complexity (2.0.2): Extracting archive - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive - Installing phpunit/php-code-coverage (9.2.15): Extracting archive - Installing doctrine/instantiator (1.4.1): Extracting archive - Installing phpspec/prophecy (v1.15.0): 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 (9.5.18): Extracting archive - Installing pragmarx/google2fa (8.0.0): Extracting archive - Installing bacon/bacon-qr-code (1.0.3): Extracting archive - Installing pragmarx/google2fa-qrcode (v1.0.3): Extracting archive - Installing pragmarx/google2fa-laravel (v1.4.1): Extracting archive - Installing lorisleiva/cron-translator (v0.1.1): Extracting archive - Installing spatie/laravel-schedule-monitor (2.0.2): Extracting archive - Installing symfony/polyfill-php56 (v1.20.0) - Installing namshi/jose (7.2.3): Extracting archive - Installing tymon/jwt-auth (1.0.1): Extracting archive 69 package suggestions were added by new dependencies, use `composer suggest` to see details. Package laravel/nexmo-notification-channel is abandoned, you should avoid using it. Use laravel/vonage-notification-channel instead. Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead. Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested. Generating autoload files 87 packages you are using are looking for funding. Use the `composer fund` command to find out more! ```

And then adding horizon:

+ $ composer require laravel/horizon
Using version ^5.9 for laravel/horizon
./composer.json has been updated
Running composer update laravel/horizon
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking laravel/horizon (v5.9.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Downloading laravel/horizon (v5.9.3)
  - Installing laravel/horizon (v5.9.3): Extracting archive
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package laravel/nexmo-notification-channel is abandoned, you should avoid using it. Use laravel/vonage-notification-channel instead.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
87 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

That it tries to use 0.1.0 in your case is fishy.

Maybe something weird in your composer.lock? Make a backup of everything, remove the lock file and the vendor dir and install everything again.

driesvints commented 2 years ago

Hi there,

Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!

Thanks.

driesvints commented 2 years ago

Ty @mfn

sts-ryan-holton commented 2 years ago

@mfn I'm using PHP 7.4 on a Windows 10 machine. Further digging suggests that even if Horizon installed it still wouldn't work on Windows without something like Docker?

mfn commented 2 years ago

I see; I can't test this (no windows here) but AFAIK yes, you need the pcntl, extension which is Linux-only.

Note: This extension is not available on Windows platforms.
Astriel commented 2 years ago

I'm facing the exact same problem with :

vicenterusso commented 2 years ago

Exact/Similar problem:

Already tried to remove lock, same result.

www@18dd5686d59d:/var/www/myapp$ php composer.phar require laravel/horizon
Using version ^0.1.0 for laravel/horizon
./composer.json has been updated
Running composer update laravel/horizon
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires laravel/horizon ^0.1.0 -> satisfiable by laravel/horizon[v0.1.0].
    - laravel/horizon v0.1.0 requires illuminate/contracts ~5.4 -> found illuminate/contracts[v5.4.0, ..., 5.8.x-dev] but these were not loaded, likely because it conflicts with another require.

You can also try re-running composer require with an explicit version constraint, e.g. "composer require laravel/horizon:*" to figure out if any version is installable, or "composer require laravel/horizon:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
www@18dd5686d59d:/var/www/myapp$ php --version
PHP 8.1.4 (cli) (built: Mar 29 2022 01:48:35) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.4, Copyright (c), by Zend Technologies
www@18dd5686d59d:/var/www/myapp$ php artisan --version
Laravel Framework 8.83.13
www@18dd5686d59d:/var/www/myapp$ 
mfn commented 2 years ago

Using version ^0.1.0 for laravel/horizon

This is definitely not normal.

What does your composer.json look like?

scottgrobinson commented 2 years ago

FYI - I had the same problem. For some reason, when running "composer require laravel/horizon" we get the above. After some digging, turns out my PHP was missing pcntl extension (yes - on Linux). After installing that and running again, it installs without issue.