Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

691
Vistas
No se puede ejecutar "npm run prod" usando un archivo deployment.sh en un proyecto Laravel (usando Laravel Mix)

Puedo ejecutar " npm run prod ". Puse el mismo comando en un archivo deploy.sh . Nuevamente, todavía puedo ejecutar el script de implementación usando ./deploy.sh, y funciona. Pero el mismo script de implementación no se pudo ejecutar cuando ocurre el git hook.

" npm i " funciona tanto en la terminal, implementar el script y usar git hook.

El script deploy.sh es el siguiente:

 #!/bin/sh php artisan down git pull origin $1 composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev php artisan migrate --force php artisan cache:clear php artisan route:cache php artisan config:cache npm ci # everything works fine, but the line below npm run production php artisan up

Y lo raro es que , en la terminal, cuando ejecuto ./deploy.sh todo funciona, sin ningún problema. pero cuando se llama al script de implementación mediante un webhook de GitHub, arroja estos errores:

registro de terminales

archivo de registro

Por lo tanto, npm run prod funciona en la terminal, funciona cuando ejecuto el script de implementación mediante ./deploy.sh en la terminal, pero no funciona cuando el git hook llama a la aplicación laravel para ejecutar el script de implementación.

Así es como ejecuto el archivo deployment.sh usando laravel:

 $process = new Process(['./deploy.sh']); $process->setWorkingDirectory(base_path()); $process->run(function ($type, $buffer) { Log::info($buffer); });

Lo que he probado ya:

usando cross-env : no funciona. usando rm -rf node_modules & npm cache clean --force & npm i : no funciona.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

su código no es reproducible en mi extremo. sin embargo, mi hipótesis es que la salida estándar de log:info $buffer de laravels está en conflicto con la salida estándar de registro del proceso maestro. deshabilite el registro o cambie el nivel de registro e intente el procedimiento anterior. deberia de funcionar.

over 4 years ago · Santiago Trujillo Denunciar

0

¿Está ejecutando el comando correcto? ¿Hablas de ejecutar npm run prod localmente pero en tu archivo deployment.sh es deploy.sh npm run production ?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda