• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

457
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.

about 3 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.

about 3 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 ?

about 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda