Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

273
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!