当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 节点查看是否已安装Program

来源:互联网 收集:自由互联 发布时间:2021-06-16
您好我正在制作一个节点应用程序,需要:ffmpeg,node-acoutstid与fpcalc和eye3D. 现在我的问题是如何看到客户端机器上是否安装了这些“程序”. 什么是检查这个的最好方法? 用于本机检测的
您好我正在制作一个节点应用程序,需要:ffmpeg,node-acoutstid与fpcalc和eye3D.
现在我的问题是如何看到客户端机器上是否安装了这些“程序”.

什么是检查这个的最好方法?

用于本机检测的“ shell out”

在macOS / Linux / bash中,我们通常使用类型-p或命令-v(或者如果你做错了,那么).

在Windows中,您可以使用node.exe之类的地方.

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

如果您不想尝试跨平台兼容并且不必担心消毒用户输入,那么这种天真的方法就可以工作.

使用命令存在

在npm有一个包command-exists.我偷看了代码,看起来它可能是最简单的跨平台检测,涵盖了小尺寸的边缘情况:

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
});
网友评论