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

272
Vistas
Nodejs child_process generar argumentos de opción con guiones ("--")

Estoy tratando de ejecutar un engendro child_process con argumentos que incluyen "--", pero no parece registrar eso por una razón.

El comando que intento generar es: wp-env run tests-cli "wp plugin update --all"

(Este es un paquete cli para ejecutar un entorno de wordpress: https://www.npmjs.com/package/@wordpress/env )

Las comillas dobles aquí son importantes para que el comando funcione correctamente, por lo que creo que podría ser parte del problema.

Aquí está la idea general del código que estoy tratando de usar:

 const { spawn } = require("child_process"); const child = spawn('npx', [ "wp-env", "run", "tests-cli", "wp", "plugin", "update", "--all" ], {shell: true}); var scriptOutput = ""; child.stdout.setEncoding('utf8'); child.stdout.on('data', function(data) { console.log('stdout: ' + data); data=data.toString(); scriptOutput+=data; }); child.stderr.setEncoding('utf8'); child.stderr.on('data', function(data) { console.log('stderr: ' + data); data=data.toString(); scriptOutput+=data; }); child.on('close', function(code) { console.log('closing code: ' + code); console.log('Full output of script: ',scriptOutput); });

Esta es la salida que obtengo:

 Starting 'wp plugin update' on the tests-cli container.

Probé muchas otras combinaciones similares, pero lamentablemente ninguna de ellas funcionó para mí.

No pude encontrar ninguna pista para el en google, así que espero que alguien aquí pueda ayudar con eso. Supongo que la causa raíz en realidad no está relacionada específicamente con este paquete, pero en realidad no encontré ningún problema con el uso de "--" como argumentos en general, así que creo que está relacionado con esta combinación junto con el requisito de las comillas dobles. .

Por ejemplo:

 const child = spawn('npx', [ "--version" ], {shell: true});

Esto funcionaría bien.

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

0

Lo que estás haciendo en realidad está ejecutando:

 wp-env run tests-cli wp plugin update --all

Nota: sin las comillas.

Si desea que wp-env run tests-cli "wp plugin update --all" , entonces debe hacer lo siguiente:

 const child = spawn('npx', [ "wp-env", "run", "tests-cli", "wp plugin update --all" ], {shell: true});

Eso es lo que hacen las comillas en bash : trata todo lo que contiene como un único argumento.

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