> Faqs > composer.json requires php ^7.3 cuando uso PHP 8

composer.json requires php ^7.3 cuando uso PHP 8

He ejecutado el comando:

composer install

En un ordenador de desarrollo recién instalado. Me ha arrojado un error:

Root composer.json requires php ^7.3 but your php version (8.1.0) does not satisfy that requirement

¿No se supone que si tengo la versión 8 de PHP ese requisito debería no dar un error? ¿Alguna sugerencia para solucionarlo?

Respuestas

Tienes dos soluciones aquí:

  • Instala PHP 7.3 para que sea la versión de tu PHP que tienes configurada para que funcione en tu terminal de línea de comandos.
  • Cambia el composer.json

Qué versión de PHP funciona en línea de comandos

Puedes incluso tener varias versiones de PHP instaladas en tu ordenador. No sé el sistema operativo con el que estás pero puedes encontrar en esta FAQ las instrucciones para cambiar la versión de PHP que se ejecuta por línea de comandos.

Como editar el composer.json para permitir PHP 8

En el composer.json tienes una sección que dice qué versión de PHP debe ejecutar este proyecto. Ese bloque tendrá una forma como esta:

"require": {
    "php": "^7.3",

Simplemente tienes que agregar PHP en la versión 8.

Te podría quedar más o menos así.

"require": {
    "php": "^7.3|^8.0",

También podrías simplemente cambiar 7.3 por 8.0, pero ten en cuenta que en el servidor donde tengas en producción el proyecto podrías tener 7.3 y si cambias la versión de PHP de manera forzada a la 8.0 podría ocurrir que no funcione composer install, cuando quieras instalar las dependencias del proyecto.

Luego tienes que ejecutar el comando de update de composer.

composer update

Recuerda que ese comando lo debes ejecutar en local. Te hará la actualización de las dependencias que tienes en el proyecto y marcará en el composer.lock que ahora se permite PHP 8.

Las siguientes veces podrías simplemente hacer el comando que intentaste al principio

composer install
Miguel Angel
2153 99 145 6