Closed
Description
With a brand new repository, trying to run ./vendor/bin/captainhook install
fails with a missing class if you haven't done the configure step:
mordor captainhook-test(000 main) /$ composer require --dev captainhook/captainhook-phar
./composer.json has been updated
Running composer update captainhook/captainhook-phar
Loading composer repositories with package information
Updating dependencies
Lock file operations: 5 installs, 0 updates, 0 removals
- Locking captainhook/captainhook-phar (5.23.3)
- Locking phar-io/composer-distributor (1.0.2)
- Locking phar-io/executor (1.0.1)
- Locking phar-io/filesystem (2.0.1)
- Locking phar-io/gnupg (1.0.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing phar-io/filesystem (2.0.1): Extracting archive
- Installing phar-io/executor (1.0.1): Extracting archive
- Installing phar-io/gnupg (1.0.2): Extracting archive
- Installing phar-io/composer-distributor (1.0.2): Extracting archive
captainhook/captainhook-phar contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "captainhook/captainhook-phar" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] y
- Installing captainhook/captainhook-phar (5.23.3): Extracting archive
- Downloading artifact from https://github.com/captainhookphp/captainhook/releases/download/5.23.3/captainhook.phar
- PHAR signature successfully verified
Generating autoload files
2 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^5.23 for captainhook/captainhook-phar
mordor captainhook-test(200 main) /$ ./vendor/bin/captainhook install
PHP Fatal error: Uncaught Error: Class "Normalizer" not found in phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/string/AbstractUnicodeString.php:29
Stack trace:
#0 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/console/Helper/Helper.php(45): [constant expression]()
#1 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/console/Application.php(706): CaptainHook\Phar\Symfony\Component\Console\Helper\Helper::width()
#2 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/console/Application.php(679): CaptainHook\Phar\Symfony\Component\Console\Application->doRenderThrowable()
#3 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/console/Application.php(142): CaptainHook\Phar\Symfony\Component\Console\Application->renderThrowable()
#4 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/console/Application.php(162): CaptainHook\Phar\Symfony\Component\Console\Application->CaptainHook\Phar\Symfony\Component\Console\{closure}()
#5 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/bin/captainhook(63): CaptainHook\Phar\Symfony\Component\Console\Application->run()
#6 phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/bin/captainhook(64): CaptainHook\Phar\{closure}()
#7 /home/omni/code/captainhook-test/vendor/bin/captainhook(17): require('...')
#8 {main}
thrown in phar:///home/omni/code/captainhook-test/vendor/bin/captainhook/vendor/symfony/string/AbstractUnicodeString.php on line 29
Using the non-.phar version tells the user to create the configuration file instead of dying.