LoginSignup
1
2

More than 5 years have passed since last update.

失敗しないcommandの呼び出し方 | Tips for Internship 1

Last updated at Posted at 2016-11-12

[ Tips for Internship ] について

KARAPPOにインターンの学生さんが入ってきたので、教育過程で出てきたTipsのうち、一般的なことはここに書いていってみようと思います。間違ったことを教えていたら恥ずかしいのですが、自分の気持ちを引き締めるために公開してみます。なにかおかしなことがあれば、指摘していただけるとありがたいです。


失敗しないcommandの呼び出し方

rbenvを使用していて、ブロジェクト毎のgemはbundlerでプロジェクトフォルダ下にインストールしている時、普通にrails sとかbundle installとかしても、意図したcommand(またはその依存関係にあるcommand)が呼び出せないことが原因で、エラーが出ることがあります。
これは、rbenvやbundlerを使うと同じ名前のcommandがローカルマシン内に複数存在することが原因の一つです。(本当は、PATHの設定とかちゃんとすればうまくいくんだとおもいますが…)
こういう時、「rbenvで指定したrubyを使って」+「(そのruby環境にインストールされた)bundlerで管理している◯◯を呼び出す」という意味でrbenv exec+bundle execとすれば、明示的にcommandの指定ができるので、予め毎回これを付けておくと変なところで詰まりにくくなります。

rbenv exec bundle exec ◯◯

ただ、毎回打つのは面倒なので、ショートカットを割り当てておくと便利です。

~/.bashrcに下記を追加

# rbenvとbundlerを使った環境用
function re   { rbenv exec $@ }
function reb  { rbenv exec bundle $@ }
function rebe { rbenv exec bundle exec $@ }

これで、

re ◯◯

と打てば、

rbenv exec ◯◯

が実行でき、

reb install

と打てば、

rbenv exec bundle install

と同じ意味に。さらに、

rebe rails s

で、

rbenv exec bundle exec rails s

が実行できます。


<余談>

.bashrcによく使うcommandのエイリアスを書いておくと、便利です。

参考までに僕の設定ファイルの該当部分です。(bashじゃなくてzshを使ってるので.bashrcではなく.zshrcという名前になってますが、大概同じ記述で大丈夫なはずです)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2