Nodo ver si el progtwig está instalado

Hola, estoy haciendo una aplicación de nodo que requiere: ffmpeg, node-acoutstid with fpcalc and eye3D . Ahora me pregunto cómo puedo ver si esos ‘progtwigs’ están instalados en la máquina del cliente.

¿Cuál es la mejor manera de comprobar esto?

“shell out” para la detección nativa

En macOS / Linux / bash, normalmente type -p o command -v (o si lo estás haciendo mal).

En Windows hay un lugar where se puede usar como where node.exe .

 require('child_process').exec('type -p mything', function (err, stdout) { console.log(stdout); }); 

Este enfoque ingenuo puede funcionar si no está intentando ser compatible con varias plataformas y si no tiene que preocuparse por desinfectar las opiniones de los usuarios.

Usar command-exists

En npm hay un paquete de comandos-existe . Eché un vistazo al código y parece que es probablemente la detección de plataforma cruzada más simple que cubre casos de borde en un tamaño pequeño:

https://github.com/mathisonian/command-exists/blob/master/lib/command-exists.js

 var commandExists = require('command-exists'); // invoked without a callback, it returns a promise commandExists('ls').then(function (command) { // proceed }).catch(function () { // command doesn't exist });