質問: zsh を 使っていてカレントのディレクトリに `Gemfile`があれば `bundle exec`を `rake`など特定のコマンドの頭につけるという処理をしたく、`zsh-bundle-exec` をインストールしたのですが正常に入れれてないらしくコマンドの自動付加は行われませんでした。 以下がインストールするために行った処理です。 1. リポジトリを`git clone` 2. `.zshrc`内で環境変数を設定して`zsh-bundle-exec.zsh`を読み込む ``` export BUNDLE_EXEC_GEMFILE_CURRENT_DIR_ONLY=yes export BUNDLE_EXEC_COMMANDS='rails rake rspec guard cap' source ~/.zsh/zsh-bundle-exec/zsh-bundle-exec.zsh ``` 3. `. ~/.zshrc` で設定の再読み込み zshのバージョンは`zsh 5.0.2 (x86_64-apple-darwin13.0)`を使用しています。 1週間前に Issues に登録させてもらったのですが、反応がまだもらえていません。 このプラグインを使うための正しい設定方法、もしくはその他の方法によるものどちらでも構わないので`bundle exec`の入力を`zsh`で省略する方法は何かありますか? ### oh-my-zsh に関する追記 kyohsukeさんに教えていただいた `oh-my-zsh`を試してみたのですがうまく動きませんでした。 具体的には * `alias | grep bi` で `bi=bundle_install`が表示されるためインストールは正常にできている * プロジェクト内にbinstubされた`bin`フォルダがあると`bin/rake`などが実行される * `bin`フォルダがない時に `rake db:migrate` すると `bundle exec`が付加されない * `rake` は `rake=_rake_command`の alias がふられている * `which _rake_command` は以下の結果 ``` _rake_command () { if [ -e "bin/rake" ] then bin/rake $@ else command rake $@ fi } ```
回答: 他の方法になりますが、oh-my-zsh の bundler プラグインを利用するのはどうでしょうか。 bundler プラグインで自動的に bundle exec が挿入されるコマンド一覧は wiki に記載されています。 ・oh-my-zsh もし利用される場合、以下が参考になると思います。 ・Bundlerプラグインについてのwikiページ (en) ・Mac OS X で zsh + oh-my-zsh の環境を作って一通り設定するまで 【追記】 追記された質問内容を調べてみましたところ、oh-my-zshのrailsプラグインに該当の処理が挿入されています。 プラグイン設定を以下のように bundler のみにするとどうでしょうか。 `plugins=( bundler )`