我正在尝试检测是否未安装某些 ruby gem,请先安装它然后继续。
例如:
gem which rails
如果 gem 存在,则返回 gem 的驱动程序文件 ( .rb
)的路径stdout
,如果不存在,则检查将在stderr
.
我该如何解决?
伪代码:
if throws "gem which example1" ( gem install example1 )
if throws "gem which example2" ( gem install example2 )
if throws "gem which example3" ( gem install example3 )
:: install other stuff
cmd 或 powershell 都可以。
我需要在 AppVeyor CI yaml 配置文件中添加这些。AppVeyor CI 具有缓存 DRY 安装目录以提高构建性能的出色功能。所以我已经缓存了 gems 目录,它在运行构建时恢复正常,但gem install
无论如何都会重新安装 gem!