bunle install するときの --path vendor/bundle オプション

複数人で開発する際bundle install する時には、--path vendor/bundle オプションを付けてあげる必要があるのですね。。。!!

コミュニティ開発しているプロジェクトで、自分がgemを追加し、なにもオプション付けづにbunle installをしてしまいましたw

 

なので、 --path vendor/bundle オプションについて調べてみました。

 

--path vendor/bundle オプションとは

--プロジェクトのディレクトリ配下にある、vendor/bundle配下にgemをインストールするように指定するオプションです。

bundle install --path vendor/bundle

とすると、以下の画像のように、gemがアプリ内にインストールされます。

gyazo.com

 

一度--path vendor/bundleオプションをつけてbundle install を行えば、次回からvendor/bundle 配下に読み込むよう設定が加わるので、

次回以降はオプションをつけなくてもvendor/bundle 配下にインストールしてくれるようになります!

gyazo.com

 

 

そして、何かコマンド等実行するときは、bundle execコマンドをつけて実行してあげるようにすれば、アプリ内にインストールしたgemを読み込んで実行してくれます。

 

 

 

--path vendor/bundle オプションつけない時

ローカルのPC内にインストールされます。

gyazo.com

 

 

なぜ --path vendor/bundle オプションをつけた方が良いか

--path vendor/bundle オプションをつけ、ローカルではなくプロジェクト内にインストールすることで、ローカルに複数バージョンのgemがインストールされてごちゃごちゃになってしまうことを防げます。

 

 

そもそもvendorディレクトリとは

vendorディレクトリとは、一般的に外部ライブラリを入れるために使われているディレクトリです。

Railsに限らず、他のフレームワークや言語でも、vendorは外部ライブラリを入れるために使われているようです。