include(/xxx/vendor/composer/installers/src/Composer/Installers/Plugin.php): Failed to open stream: No such file or directory

Docker composeではphpのcomposerを使う事ができます。composerを使う事でインストールの簡略化ができます。

  • Laravel
  • Drupal
  • WordPress

等がインストール可能です。インストールできるパッケージはhttps://packagist.org/にて確認できます。

Docker環境ではエラーとなる

- Installing composer/installers (v2.2.0): Extracting archive
Plugin initialization failed (include(/usr/share/nginx/html/drupal/vendor/composer/installers/src/Composer/Installers/Plugin.php): Failed to open stream: No such file or directory), uninstalling plugin
- Removing composer/installers (v2.2.0)
    Install of composer/installers failed
Unhandled promise rejection with RuntimeException: Could not delete /usr/share/nginx/html/drupal/vendor/composer/installers/.github:  in phar:///usr/bin/composer/src/Composer/Util/Filesystem.php:302
Stack trace:
#0 phar:///usr/bin/composer/src/Composer/Util/Filesystem.php(233): Composer\Util\Filesystem->unlink()
#1 phar:///usr/bin/composer/src/Composer/Util/Filesystem.php(163): Composer\Util\Filesystem->removeDirectoryPhp()
#2 phar:///usr/bin/composer/vendor/react/promise/src/Internal/FulfilledPromise.php(47): Composer\Util\Filesystem->Composer\Util\{closure}()
#3 phar:///usr/bin/composer/vendor/react/promise/src/Promise.php(173): React\Promise\Internal\FulfilledPromise->then()
#4 phar:///usr/bin/composer/vendor/react/promise/src/Promise.php(221): React\Promise\Promise::React\Promise\{closure}()
#5 phar:///usr/bin/composer/vendor/react/promise/src/Promise.php(286): React\Promise\Promise->settle()
#6 phar:///usr/bin/composer/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}()
#7 phar:///usr/bin/composer/vendor/react/promise/src/Promise.php(180): React\Promise\Internal\FulfilledPromise->then()
#8 phar:///usr/bin/composer/vendor/react/promise/src/Promise.php(221): React\Promise\Promise::React\Promise\{closure}()
#9 phar:///usr/bin/composer/vendor/react/promise/src/Promise.php(286): React\Promise\Promise->settle()
#10 [internal function]: React\Promise\Promise::React\Promise\{closure}()
#11 phar:///usr/bin/composer/src/Composer/Util/ProcessExecutor.php(328): call_user_func()
#12 phar:///usr/bin/composer/src/Composer/Util/Loop.php(90): Composer\Util\ProcessExecutor->countActiveJobs()
#13 phar:///usr/bin/composer/src/Composer/Installer/InstallationManager.php(430): Composer\Util\Loop->wait()
#14 phar:///usr/bin/composer/src/Composer/Installer/InstallationManager.php(405): Composer\Installer\InstallationManager->waitOnPromises()
#15 phar:///usr/bin/composer/src/Composer/Installer/InstallationManager.php(319): Composer\Installer\InstallationManager->executeBatch()
#16 phar:///usr/bin/composer/src/Composer/Installer/InstallationManager.php(218): Composer\Installer\InstallationManager->downloadAndExecuteBatch()
#17 phar:///usr/bin/composer/src/Composer/Installer.php(827): Composer\Installer\InstallationManager->execute()
#18 phar:///usr/bin/composer/src/Composer/Installer.php(300): Composer\Installer->doInstall()
#19 phar:///usr/bin/composer/src/Composer/Command/CreateProjectCommand.php(263): Composer\Installer->run()
#20 phar:///usr/bin/composer/src/Composer/Command/CreateProjectCommand.php(153): Composer\Command\CreateProjectCommand->installProject()
#21 phar:///usr/bin/composer/vendor/symfony/console/Command/Command.php(298): Composer\Command\CreateProjectCommand->execute()
#22 phar:///usr/bin/composer/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run()
#23 phar:///usr/bin/composer/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#24 phar:///usr/bin/composer/src/Composer/Console/Application.php(394): Symfony\Component\Console\Application->doRun()
#25 phar:///usr/bin/composer/vendor/symfony/console/Application.php(171): Composer\Console\Application->doRun()
#26 phar:///usr/bin/composer/src/Composer/Console/Application.php(148): Symfony\Component\Console\Application->run()
#27 phar:///usr/bin/composer/bin/composer(93): Composer\Console\Application->run()
#28 /usr/bin/composer(29): require('...')
#29 {main}

In ClassLoader.php line 576:

  include(/usr/share/nginx/html/drupal/vendor/composer/installers/src/Composer/Installers/Plugin.php): Failed to open stream: No such file or directory

こんな感じでDocker環境だとエラーになります。

解決方法

現時点ではないです。

Dockerでcomposerを使うにはどうすればいい?

現時点では解決策がないため、composerを使ってインストールは諦めた方がいいかもしれません。

Laravelなどはどうやってインストールする?

Docker環境でLaravelやDrupalを使うときは、諦めるかgithubからデータをダウンロードしてき足りする必要があります。

その後永続化でローカルマシンと繋いだりします。

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS