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
- 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.
- 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
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",
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"
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",
1.4 Remplazar librería facade/ignition
Es necesario reemplazar la librería facade/ignition por spatie/laravel-ignition:
«spatie/laravel-ignition»: «^1.0»
Cambia esa línea por:
2. Correr composer update
Desde la terminal de comandos abierta en la raíz de tu proyecto escribe:
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
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;
Esa línea se debe cambiar por:
use Illuminate\Http\Middleware\TrustProxies as Middleware;
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
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:
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
como quito la libreria shoppingcart
Hola Víctor, gracias por visitar, para quitar la librería de shoppingcart puedes correr en consola el comando composer remove bumbummen99/shoppingcart , me dices cómo te fue, saludos.
Me sirvió, gracias
Gracias por visitar Rubén, me alegra mucho que te haya servido, saludos.
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.
Gracias por visitar y comentar John, me alegra mucho que te haya servido el tutorial. Sí, una vez que el repositorio de shoppingcart este actualizado para Laravel 9 haré un update de este post, saludos.
Me paso por aquí para dar las gracias por el tutorial. He podido actualizar la versión de laravel sin problemas con tus indicaciones. Muchas gracias por todo.
Gracias por visitar y comentar Juan Hernández, me llena de alegría saber que este tutorial fue de ayuda, te mando un saludo!