Skip to content

Install fails with a missing class #252

Closed
@omnicolor

Description

@omnicolor

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.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions