Cómo hacer upgrade de Laravel 8 a Laravel 9
Image by Pexels from Pixabay

Hace pocos días ha salido la nueva versión de Laravel la versión 9, en este tutorial te mostraré cómo hacer upgrade de Laravel 8 a Laravel 9 para que tengas las últimas funcionalidades y seguridad en todos tus proyectos. Sin más, manos a la obra.

Requisitos previos

  1. Es muy importante que en tu servidor o ambiente de desarrollo funcione PHP 8 ya que Laravel 9 sólo funciona con esta versión de PHP.
  2. Acceso SSH a tu servidor (si estás en local no hace falta)

Cómo hacer upgrade de Laravel 8 a Laravel 9

1. Hacer cambios en el archivo composer.json

Abre el proyecto que quieres hacer upgrade con tu editor de textos y abre el archivo composer.json

Cómo hacer upgrade de Laravel 8 a Laravel 9

1.1 Cambiar versión de PHP

Laravel 9 únicamente funciona con la versión 8 de PHP por lo que es necesario cambiarlo en este archivo:

"php": "^8.0",

Actualizar a la versión de PHP 8

1.2 Cambiar versión de Laravel

En la línea en donde se muestra la versión de Laravel cambia a Laravel 9:

"laravel/framework": "^9.0"

Cómo hacer upgrade de Laravel 8 a Laravel 9

1.3 Cambiar versión de nunomaduro

En la línea en donde se encuentra nunomaduro/collision de debe cambiar a la versión 6:

"nunomaduro/collision": "^6.1",

Cómo hacer upgrade de Laravel 8 a Laravel 9

1.4 Remplazar librería facade/ignition

Es necesario reemplazar la librería facade/ignition por spatie/laravel-ignition:

«spatie/laravel-ignition»: «^1.0»

Localiza la linea de facede ignition

Cambia esa línea por:

Cómo hacer upgrade de Laravel 8 a Laravel 9

2. Correr composer update

Desde la terminal de comandos abierta en la raíz de tu proyecto escribe:

composer update

Correr en terminal composer update

En este caso me muestra un error con la librería shoppingcart por lo que es necesario ir a la documentación de la librería bumbummen99/shoppingcart en GitHub. Me comuniqué con el autor y me contesto que actualmente esta librería solo funciona con Laravel 8 y que ellos ya están trabajando en la actualización para que corra en Laravel 9.

Actualización. La librería shoppingcart ya ha sido actualizada por su autor y ahora al ejecutar el comando composer update se actualiza automáticamente y el error anterior ya no se muestra.

composer update

Muestra un error con los headers

Ahora arrojó un problema con los headers, para solucionarlo abre el archivo que se encuentra en app/Http/Middleware/TrustProxies.php y localiza en el inicio del archivo la línea:

use Fideloper\Proxy\TrustProxies as Middleware;

Cómo hacer upgrade de Laravel 8 a Laravel 9

Esa línea se debe cambiar por:

use Illuminate\Http\Middleware\TrustProxies as Middleware;

Cambia por esta linea de codigo

Verifica al final del archivo si tienes esta línea:

protected $headers = Request::HEADER_X_FORWARDED_ALL;

La debes de cambiar por:

protected $headers =
Request::HEADER_X_FORWARDED_FOR|
Request::HEADER_X_FORWARDED_HOST|
Request::HEADER_X_FORWARDED_PORT|
Request::HEADER_X_FORWARDED_PROTO|
Request::HEADER_X_FORWARDED_AWS_ELB;

Ahora desde la terminal escribe:

composer remove fideloper/proxy

Y vuelve a correr:

composer update

Cómo hacer upgrade de Laravel 8 a Laravel 9

Ya se instalaron correctamente las librerías, ahora ve a la terminal y escribe:

php artisan --version

Verás que ya está instalado Laravel 9:

Revisa la version de Laravel desde consola de comandos

Te recomiendo probar cada una de las vistas y funciones de tu aplicación antes de subir los cambios a tu servidor de producción.

Conclusión

En este tutorial aprendiste a cómo hacer upgrade de Laravel 8 a Laravel 9 para más información lee la guía oficial que encontrarás al final de este post, si te aparecen errores en algunas de tus librerías ve a la documentación oficial de la librería para ver cómo solucionar el problema. Si te fue de ayuda este tutorial te invito a compartirlo en tus redes sociales y si tienes dudas o comentarios déjalos en la caja de comentarios, estaré al pendiente de ellos. Saludos.

Fuente: Upgrade Guide Laravel

8 COMENTARIOS

  1. Me ha servido para hacer upgrade de un proyecto personal, estaría bien que dijeras cuando la libreria shoppingcart ya este actualizada para Laravel 9. Gracias por compartir, saludos.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.