3
在我尝试使用ubuntu上的rake自动执行某些任务时,我遇到了需要打包的场景可能并不存在于目标机器上。检查系统中是否已安装某些软件包并作出相应响应的好方法是什么?如何检查一个特定的软件包是否使用rake安装在Linux上?
例如,我想在某些任务中运行'npm start',但是我想知道npm是否已经安装在系统上,从而为用户提供了正确的错误消息。如果可能的话,我也可以用钍来做这件事。
在我尝试使用ubuntu上的rake自动执行某些任务时,我遇到了需要打包的场景可能并不存在于目标机器上。检查系统中是否已安装某些软件包并作出相应响应的好方法是什么?如何检查一个特定的软件包是否使用rake安装在Linux上?
例如,我想在某些任务中运行'npm start',但是我想知道npm是否已经安装在系统上,从而为用户提供了正确的错误消息。如果可能的话,我也可以用钍来做这件事。
您可以使用Kernel.system
方法从Ruby脚本运行系统命令。考虑类似以下内容:
fail unless system('which npm')