在Ubuntu18.04 docker容器中安装Monarc服务器会引发lamas依赖插件错误



我正试图在docker容器中设置Monarc,我正处于运行composer的阶段。但不幸的是,这引发了以下错误:

Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 79 installs, 0 updates, 0 removals
- Installing laminas/laminas-dependency-plugin (1.0.3): Loading from cache
PHP Fatal error:  Uncaught Error: Undefined class constant 'PRE_COMMAND_RUN' in /var/lib/monarc/fo/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPlugin.php:63
Stack trace:
#0 /usr/share/php/Composer/EventDispatcher/EventDispatcher.php(378): LaminasDependencyPluginDependencyRewriterPlugin::getSubscribedEvents()
#1 /usr/share/php/Composer/Plugin/PluginManager.php(239): ComposerEventDispatcherEventDispatcher->addSubscriber(Object(LaminasDependencyPluginDependencyRewriterPlugin))
#2 /usr/share/php/Composer/Plugin/PluginManager.php(205): ComposerPluginPluginManager->addPlugin(Object(LaminasDependencyPluginDependencyRewriterPlugin))
#3 /usr/share/php/Composer/Installer/PluginInstaller.php(63): ComposerPluginPluginManager->registerPackage(Object(ComposerPackageCompletePackage), true)
#4 /usr/share/php/Composer/Installer/InstallationManager.php(173): ComposerInstallerPluginInstaller->install(Object(ComposerRepositoryInstalledFilesystemRepository), Object(ComposerPackageCompletePackage))
#5 /usr/sha in /var/lib/monarc/fo/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPlugin.php on line 63
Fatal error: Uncaught Error: Undefined class constant 'PRE_COMMAND_RUN' in /var/lib/monarc/fo/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPlugin.php:63
Stack trace:
#0 /usr/share/php/Composer/EventDispatcher/EventDispatcher.php(378): LaminasDependencyPluginDependencyRewriterPlugin::getSubscribedEvents()
#1 /usr/share/php/Composer/Plugin/PluginManager.php(239): ComposerEventDispatcherEventDispatcher->addSubscriber(Object(LaminasDependencyPluginDependencyRewriterPlugin))
#2 /usr/share/php/Composer/Plugin/PluginManager.php(205): ComposerPluginPluginManager->addPlugin(Object(LaminasDependencyPluginDependencyRewriterPlugin))
#3 /usr/share/php/Composer/Installer/PluginInstaller.php(63): ComposerPluginPluginManager->registerPackage(Object(ComposerPackageCompletePackage), true)
#4 /usr/share/php/Composer/Installer/InstallationManager.php(173): ComposerInstallerPluginInstaller->install(Object(ComposerRepositoryInstalledFilesystemRepository), Object(ComposerPackageCompletePackage))
#5 /usr/sha in /var/lib/monarc/fo/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPlugin.php on line 63

我遵循此处提供的指南:https://github.com/monarc-project/MonarcAppFO/blob/master/INSTALL/INSTALL.ubuntu1804.md.

我的这个部分的dockerfile目前看起来像(在composer行失败,出现上面的错误(:

RUN mkdir -p /var/lib/monarc/fo
RUN git clone https://github.com/monarc-project/MonarcAppFO.git /var/lib/monarc/fo
WORKDIR /var/lib/monarc/fo
RUN mkdir -p data/cache
RUN mkdir -p data/LazyServices/Proxy
RUN chmod -R g+w data
RUN composer install -o

从链接上看,关于以root/sudo的身份运行它的行似乎很好。除此之外,我完全不知道这里出了什么问题。

您的composer版本已经过时。

只需升级composer,然后重试。

最新更新