以前からRubyのプロジェクトはbundle install --path vendor/bundle
をつけるようにしていたが、自分の中でこんなことはしなくてよくて、システムのgemを利用してしまえばよい、という結論に至った。
ちなみに--path vendor/bundle
をつけると.bundle/config
に以下のように記録される。
$ cat .bundle/config
---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_DISABLE_SHARED_GEMS: "true"
というのもこちらのドキュメントを読んで
http://bundler.io/v1.14/man/bundle-install.1.html#DEPLOYMENT-MODE
vendor/bundle
にインストールするのは本番にデプロイする時だけでいいよ、
開発環境ならシステムに入っているのを使えると便利だよ、
と書いてあったから。
確かにバージョン固定はGemfile.lockでされるから十分なのかな。
本番にデプロイする際に忘れずに--deployment
をつける、と。
逆にnpmは-g
をつけないとデフォルトでローカルになる。
bundlerも一緒にして考えてしまっていた。
(異論があれば教えてもらえると幸いです)
環境
- Ruby 2.3.1 on rbenv 1.1.0 in macOS Sierra 10.12.3
- bundler 1.14.3