[ 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
という名前になってますが、大概同じ記述で大丈夫なはずです)