使`rake test`自动调用`bundle exec rake test`

时间:2017-02-15 22:57:12

标签: ruby bundler

我的Rakefile需要使用bundler安装的某些依赖项。因此,运行Rakefile的正确方法是使用bundle exec rake

但是,我确定有一天会有人意外地使用rake运行它。所以我们已经添加到顶部:

abort('fatal: Please run this using `bundle exec rake`') unless ENV["BUNDLE_BIN_PATH"]

然而,如果脚本使用任何其他命令行参数将其自身重新命名为bundle exec rake,那将会更有帮助。我该怎么做呢?如果未安装bundler时正常失败,则奖励积分。

2 个答案:

答案 0 :(得分:1)

使用binstubs

  1. 在项目根目录中运行bundle binstubs rake
  2. 使用bin/rake代替rake
  3. 您不再需要担心在命令之前键入bundle exec。无需在命令行上手动调用任何内容即可完成所需的任何设置。您可以轻松修改binstub文件,它是特定于项目的。

    最后,如果键入bin/rake真的太多了,你可以使用更短的内容,例如brake,或者如果你想生活在边缘,alias rake='bin/rake'

答案 1 :(得分:0)

我认为@coreyward有答案,但如果你遇到了问题,你可以随时alias rake='bundle exec rake',但这可能会让你在另一天遇到麻烦。