laravel

Pequeño truco para reducir el tamaño de vendor en Laravel

A más de un programador de Laravel le ha pasado esto: ha terminado el proyecto, pasado las pruebas y está listo para enviarlo a producción pero pasa algo: la carpeta vendor tiene un tamaño realmente grande.

Esto es porque la carpeta vendor tiene todos los paquetes que necesita el framework, pero hay unos de ellos que solamente son usados en modo desarrollo y que no son necesarios en producción.

Instalar dependencias pero evitar las de desarrollo o dev – Laravel y Composer

Por eso es que hoy veremos cómo eliminar los paquetes innecesarios de vendor, o mejor dicho, cómo instalar únicamente los necesarios.

Composer

Si programas en Laravel debes usar por fuerza Composer. En caso de que no lo tengas instalado mira aquí cómo hacerlo, por otro lado, te invito a que leas este post en donde explico las ventajas de Composer.

Instalar dependencias que no sean de desarrollo

El truco es simple. Cuando llevas un control de versiones no guardas la carpeta vendor, esa carpeta se crea cuando ejecutas composer install como vimos en Qué hacer después de clonar un proyecto de Laravel.

En fin, en el momento de instalar las dependencias  pasa la opción de --no-dev así:

composer install --no-dev

De esta manera no se van a instalar las dependencias de desarrollo. Gracias a ello tu carpeta de vendor tendrá solamente lo necesario para que tu app funcione, y como estará en producción no habrá problemas.

Si no tienes acceso a la terminal en producción

Esto es totalmente y me ha pasado miles de veces: no tener acceso a composer en el servidor de producción.

Seguramente la opción que tienes es que debes subir los archivos por algo como FTP; muy bien, pues antes de subir el proyecto elimina la carpeta vendor.

Después de eso ejecuta en tu PC local:

composer install --no-dev

Espera a que se instalen los paquetes y súbelos. Después de ello, si hace falta, instala todas las dependencias normalmente.

En resumen: borra la carpeta, instala dependencias sin tomar en cuenta las de desarrollo, sube esa carpeta al servidor y listo.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • muchas gracias me sirvio, esos benditos archivos superan los inodos permitidos de muchos hosting gratuitos

    • Buenas tardes Gabriel. Estoy intentando por primera vez subir mi proyecto laravel a un servidor gratuito y tengo el problema de la cantidad de inodes.
      Lo has podido resolver de esa manera? Borro la carpeta vendor, subo al servidor y debería funcionar?
      Gracias!

    • No lo había visto de ese modo (mi problema era que el ancho de banda de mi ISP es realmente limitado y tenía que subir la menor cantidad de archivos posible) pero tienes razón.
      Saludos :)

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

4 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

5 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

5 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

6 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.