Laravel 5.1 ya está aquí!!
Y, si eres tan impaciente como yo, probablemente quieras empezar a probarlo en tus aplicaciones.
Probar Laravel 5.1 es muy sencillo:
Crear una nueva aplicación con Laravel 5.1
Si creas una nueva aplicación con Composer utilizando el modo habitual:
composer create-project laravel/laravel PROJECT_NAME
Obtendrás las siguientes versiones instaladas:
laravel/laravel v5.0.22 The Laravel Framework.
laravel/framework v5.0.16 The Laravel Framework.
Dado que aún no hay una versión estable de Laravel 5.1, se instalan las últimas versiones estables disponibles para ambos paquetes.
Además, el ‘require’ de laravel/laravel
es laravel/framework: 5.0.*
. Eso quiere decir que siempre se instalará una versión menor que la 5.1.
Si bajamos la estabilidad mínima requerida a dev
:
composer create-project laravel/laravel PROJECT_NAME --stability=dev
Obtendrás las siguientes versiones instaladas:
laravel/laravel dev-master The Laravel Framework.
laravel/framework v5.0.28 The Laravel Framework.
Hemos conseguido instalar la versión v5.0.28
del Framework, pero no la 5.1
.
Eso es porque si te vas al fichero composer.json
de la rama dev-master
, verás que el require del Framework sigue siendo: laravel/framework: 5.0.*
.
El truco está en forzar
a instalar la rama dev-develop
:
composer create-project laravel/laravel PROJECT_NAME dev-develop
Ahora si ejecutas composer show --installed
verás la siguiente línea:
laravel/framework dev-master ea0fc7f The Laravel Framework.
Por fín hemos conseguido instalar la última versión del Framework de Laravel. Como ves, es una versión de desarrollo dev-master
, y el siguiente código ea0fc7f
es el Hash del commit que hemos instalado, que en tu caso puede ser distinto. Esto quiere decir que aún es una versión inestable y te puede dar errores. Por eso es importante que tengas en cuenta que no es una versión para instalar en entornos de producción.
Actualizar una aplicación a Laravel 5.1
Si ya tienes una aplicación y quieres actualizarla a Laravel 5.1:
Edita tu fichero composer.json
y cambia los requerimientos del framework para laravel 5.1:
"require": {
"laravel/framework": "5.1.*"
},
Y añade las siguientes líneas al final de tu fichero para cambiar tus requerimientos mínimos de estabilidad a desarrollo (dev
) pero, cuando sea posible, que se instalen versiones estables:
"minimum-stability": "dev",
"prefer-stable": true
Nota: Asegúrate de añadir una coma después de la llave anterior a
minimum-stability
:
"config": { "preferred-install": "dist" }, "minimum-stability": "dev", "prefer-stable": true }
Tienes en mi Gist un nuevo fichero composer.json
adaptado a Laravel 5.1. Pero ten en cuenta que si ya has instalado paquetes en tu aplicación, tendrás que editar tu fichero en lugar de reemplazarlo.
Ahora, ejecuta composer update
para que actualice todos tus paquetes incluído el framework de Laravel a la versión 5.1
¡Ohhh! ¿Qué ha pasado?
Es probable que al final del proceso de actualización tengas un error como este:
PHP Fatal error: Call to undefined method
Illuminate\Foundation\Application::getCachedCompilePath() in
RUTA_DE_TU_PROYECTO\vendor\laravel\framework\src\Illuminate\Foundation\Console\ClearCompiledCommand.php on line 28
o este:
[ErrorException]
file_put_contents(RUTA_DE_TU_PROYECTO/bootstrap/cache/services.json):
failed to open stream: No such file or directory
El proceso de actualización se ha llevado a cabo, pero han fallado los scripts encargados de actualizar los ficheros de autocarga de Laravel.
Eso es porque hay algunos cambios en la estructura de la aplicación respecto a Laravel 5.0 y cuando creamos un proyecto nuevo, esos cambios ya vienen por defecto, pero al actualizar una aplicación, tenemos que hacer manualmente los cambios.
No te preocupes porque son muy sencillos:
- Crea el directorio
bootstrap/cache
y asígnale permisos de escritura. - Dentro de ese directorio, crea un fichero
.gitignore
con estas dos líneas:* !.gitignore
- Por último, edita tu fichero
bootstrap/autoload.php
y actualiza la línea que contiene la variable$compiledPath
como en la siguiente línea:$compiledPath = __DIR__.'/cache/compiled.php';
Ahora ya tenemos adaptada nuestra aplicación a Laravel 5.1. Sólo nos falta ejecutar:
composer dump-autoload
Para que se generen los ficheros de autocarga.
Y listo!!
Para tener la certeza de que todo está correcto, puedes ejecutar de nuevo
composer update
y esta vez deberías obtener símplemente el mensaje de:Nothing to install or update
.
A disfrutar de tus nuevas aplicaciones con Laravel 5.1!
Ahora que sabes cómo actualizar la estructura de tu aplicación a Laravel 5.1, puedes adaptarla antes de modificar el fichero
composer.json
y ejecutar sólo una vezcomposer update
para actualizarla.
Y RECUERDA, esta versión aun es inestable y no recomendamos actualizar aplicaciones que estén en entornos de producción.
Para más información sobre el proceso de actualización, puedes ir a la documentación oficial: http://laravel.com/docs/master/upgrade
Y aquí tienes un adelanto a las novedades de Laravel 5.1: https://laravel-news.com/2015/04/laravel-5-1/
Otras publicaciones que te pueden interesar:
Laravel 5.1 será la primera versión LTS del framework
Aprende Laravel 5: Instalación y uso de Composer
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.