Programación

Componente barryvdh/laravel-ide-helper sólo en producción sin errores

La cuestión trata sobre la instalación del componente para Laravel, el Laravel 5 IDE Helper Generator (laravel-ide-helper) , que permite generar de forma automatizada, el completado del phpDoc de nuestra aplicación, ayudando de esta manera a nuestro desarrollo, sobre todo cuando usamos PHPStorm como IDE.

Sus instrucciones para su uso solo en modo desarrollo o developer tienen un problema, relativo a los scripts que se ejecutan tras un update de composer, que producen un error cuando estamos en producción.

Error de actualización de composer en modo producción

Si queremos que después de un update con composer, esta herramienta actualice nuestros cambios, su documentación nos indica que añadamos al composer.json lo siguiente:

"scripts":{
    "post-update-cmd": [
    "Illuminate\\Foundation\\ComposerScripts::postUpdate",
    "php artisan ide-helper:generate",
    "php artisan ide-helper:meta",
    "php artisan optimize"
 ]},

Pero esta acción produce si tenemos configurado el uso de esta herramienta como se nos indica en el manual, sólo para desarrollo (develop) un error, ya que en producción, no estará instalado el paquete.

Script php artisan ide-helper:generate handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output:

Solución

La mejor forma que encontré, es realizar algunos cambios en el fichero composer.json, de tal forma que al ejecutarse determinemos si se trata de el entorno de desarrollo o el de producción.

Para ello, editaremos el fichero composer.json, con el fin de diversificar los comandos post-update, según sea uno u otro entorno.

"update-develop": [
    "Illuminate\\Foundation\\ComposerScripts::postUpdate",
    "php artisan ide-helper:generate",
    "php artisan ide-helper:meta",
    "php artisan optimize"
],
"post-update-cmd": [
    "Illuminate\\Foundation\\ComposerScripts::postUpdate",
    "php artisan optimize"
],
"dev-update": [
    "@composer update --dev",
    "@update-develop"
]

Una vez realizado este cambio deberemos ejecutar de forma obligatoria la actualización de composer ejecutándolo con las opciones

En desarrollo

composer update --dev

En producción

composer update --no-dev
Enlaces relacionados

Imagen Designed by Freepik

Comparte este artículo

Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.

Comparte este articulo en

Abkrim

Yo solo se que no se nada, y que me paso la vida aprendiendo

Entradas recientes

Youtube – Mod Security en DirectAdmin. Conocerlo y gestionarlo en el panel de control DirectAdmin.

¡Hola a todos! Vamos a sumergirnos en el fascinante mundo de Mod Security y aprender…

3 meses hace

Apertura del canal Youtube, Tecno Boomer, dedicado al mundo del hosting

Ya son muchos años en el sector, muchos años pasando por varios paneles de control,…

3 meses hace

El Uso de la Lista UCEPROTECT en los Niveles 2 y 3: Una Falacia de Causa Cuestionable

La lista UCEPROTECT es una herramienta utilizada por muchos administradores de sistemas y proveedores de…

4 meses hace

Fatal error: Allowed memory size of 268435456 bytes exhausted en WordPress. Otro post más… pero diferente

No es la primera vez que me encuentro con el agotamiento de la memoria en…

11 meses hace

Problemas de Acceso con Centos 7, Almalinux 8, Ubuntu 20.04, y Debian 10/11: Un Enigma Firewall CSF

Descubre cómo solucionar problemas de acceso a servidores con Centos 7, Almalinux 8, Ubuntu 20.04…

1 año hace

MySQL no inicia debido a errores en la base de datos interna de MySQL

Uno de los mensajes más alarmantes que puedes encontrarte es aquel que indica que tu…

1 año hace