7
  1. Clone fresh Magento 2 instance; 2.Run composer:install

Fatal Error: PHP Fatal error: Uncaught Error: Undefined class constant 'PRE_COMMAND_RUN'

mageto2user
  • 73
  • 1
  • 4

5 Answers5

7

This was an issue with Composer, By installing latest version of Composer solved it. The bug for the constant variable PRE_COMMAND_RUN is raised and closed.

Ramesh
  • 174
  • 1
  • 4
4

You need install latest version of composer, upgrade steps given below.

-- Remove existing composer

Debian/Ubuntu

sudo apt-get remove composer

Centos/Redhat

sudo yum remove composer

Get the latest composer using wget.

cd /tmp
sudo curl -sS https://getcomposer.org/installer | php

Move composer executable to PATH so it can be accessible globally.

sudo mv composer.phar /usr/local/bin/composer

To check the composer version

composer -V
Vaibhav Panmand
  • 349
  • 4
  • 10
2

You have to reinstall the Composer and use the latest composer version

To do that you can follow the following steps:

Step #1) Remove the current composer:

sudo apt-get remove composer

Step #2) install the composer , you can using following commands

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

then to make sure you have the latest Composer , run the following command

php composer.phar -V

Now, your ready to install Magento, to install Magento via composer :

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition YourProjectName

if the project folder name is exist , remove the folder and try again to install magento

0

You probably have an outdated version that doesn't even support self-update unfortunately. So here's a oneliner to install the latest version in /usr/local/bin:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Check:

which -a composer
/usr/local/bin/composer --version
composer --version
abu abu
  • 6,599
  • 19
  • 74
  • 131
0

Composer self-update wasnt working with my composer version, I use ubuntu(LEMP). Latest version of composer was installed - 1.6.3 I think.

We need this 1.10.17.

    sudo apt remove compsoer
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    sudo php composer-setup.php --version=1.10.17 --install-dir=/usr/bin --filename=composer 

Check version:

composer --version
 
output: 1.10.17

To be sure remove all vendor and cache:

rm -rf vendor/*
composer clear-cache
composer update
matinict
  • 2,411
  • 2
  • 26
  • 35