> Faqs > Solucionar Class "LaravelLang\LocaleList\Locale" not found despliegue en servidor producción

Solucionar Class "LaravelLang\LocaleList\Locale" not found despliegue en servidor producción

Estoy intentando realizar el despliegue de una aplicación Laravel en producción, es decir en el servidor remoto.

Me está dando un error durante el proceso de despliegue al instalar las dependencias de composer.

La parte más relevante del error que aparece en la consola es esta:

Class "LaravelLang\LocaleList\Locale" not found

Las dependencias están instaladas y en local me funciona perfectamente, no sé si tengo que instalar alguna cosa más en particular o si he instalado mal LaravelLang.

Respuestas

No sé cómo tendrás instalada la dependencia de LaravelLang, pero el error que te aparece, indicando que no encuentra la clase LaravelLang\LocaleList\Locale es porque no se debe haber instalado en remoto.

De hecho, en la instalación de LaravelLang indican que se debe instalar solo en el servidor de desarrollo, como dependencia de desarrollo.

composer require --dev laravel-lang/common

Si en el archivo composer.json mueves la dependencia laravel-lang/common desde "require-dev" a "require", se encontrará disponible también en el servidor de producción y no te debería dar ese error. Ahora bien no sé si sería lo correcto o no, dado que en las instrucciones es verdad que indican para instalarlo como dependencia de desarrollo.

Igual es algún script de post instalación de las dependencias el que intenta acceder a la clase que no está encontrando en el servidor de producción.

Después de editar el archivo composer.json recuerda que debes lanzar el comando:

composer update

Eso hará que se actualice el archivo composer.lock haciendo que la dependencia se quede listada como dependencia general y no de desarrollo. Esto es importante porque en el proceso de despliegue en producción generalmente se va a leer el archivo composer.lock y no directamente el composer.json.

Espero que con estas indicaciones consigas solucionar tu problema. Saludos!

Miguel Angel
3160 141 210 17