読者です 読者をやめる 読者になる 読者になる

rbenv環境で特定バージョンのコマンドを実行する(特にrubocop)

Ruby Tips

RBENV_VERSION環境変数を指定すればいい。

#!/bin/bash
RBENV_VERSION=2.2.3 rbenv exec rubocop "$@"

背景

イマドキ、プロジェクトで使うRubyのバージョンを.ruby-versionGemfileで指定していない人はいないと思いますが、その時困るのはgem install hogeして使うRuby製のツールツールは新しいRuby 2.2.xにインストールしたが、プロジェクトでは2.0.xを使っている、といった場合、rbenv は冷徹にエラーを出力します。

rbenv: rubocop: command not found

The `rubocop' command exists in these Ruby versions:
  2.2.2
  2.2.3

そういった場合、最初の例のような内容のラッパースクリプトを書けばよござんす。

(どうでもいいが「書けばよい」を丁寧語でどう言えばいいのだろう)