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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.