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

miu*_*ock 3 ruby linux ubuntu rake thor

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

例如,我想在某个任务中运行“npm start”,但我想知道系统上是否已经安装了 npm,从而为用户提供正确的错误消息。如果可能的话,我也可以和 thor 一起做。

the*_*ler 5

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

fail unless system('which npm')