【发布时间】:2014-09-29 00:28:55
【问题描述】:
问题
有没有一种简单的方法可以使用节点来判断系统路径上是否有可用的系统可执行文件?例如,如果用户在/usr/bin/python 安装了 python,而/usr/bin 在$PATH 中,我如何在 Node 中检测到它?相反地检测什么时候没有安装或者不在路径上,即/usr/opt/local/mycustompath/python?理想情况下希望他们是一个可用的 npm 包......
我确信这是一个使用正确搜索词的快速谷歌搜索,但我失败了,因为 where 和 which 是非常通用的搜索词。
背景
我正在为节点工具进行一些开发配置,并希望能够检测路径上是否已经有 python(或 pip),如果没有,请用户告诉安装它或告诉我们在哪里找到它。我目前正计划在 Windows 机器上使用 where 和在 *nix 机器上使用 which 来执行此操作,但希望可能有一个单一的跨平台方式来执行此操作。
【问题讨论】:
-
为什么不直接尝试执行
python -V并检查退出状态码? -
绝对是好点,似乎应该有一种方法可以对所有可执行文件和所有文件执行此操作而无需测试,那里有很多 npm 包,即解析'~/blah/',似乎很奇怪,没有人试图填补这一空白
标签: windows node.js unix cross-platform npm