如何使用 rake 检查 linux 上是否安装了特定的软件包?

How to check if a particular package was installed on linux with rake?

在我尝试使用 ubuntu 上的 rake 自动执行某些任务时,我遇到了目标机器上可能不存在需要打包的情况。检查系统上是否已安装某些软件包并做出相应响应的好方法是什么?

例如,我想在某个任务中运行 'npm start',但我想知道系统上是否已经安装了npm,从而给用户正确的错误信息。如果可能的话,我也很乐意和雷神一起做。

您可以使用 Kernel.system 方法从 Ruby 脚本中 运行 系统命令。考虑如下内容:

fail unless system('which npm')