Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

299
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda