fluid_27’s blog

勉強した内容をアウトプットするためのブログ

bundle execって、結局なに?

よく、ブログやqiitaなど参考サイトを見ていて、出てくる「bundle exec」

あんまり、意味も正確に把握せずに使ってたけど、結局なに?

 

rails db:migrate と bundle exec rails db:migrate などのbundle execアリナシの違いをザックリ整理します。

 

 

bundle execをつけると

今いるプロジェクト内で、Gemfile.lockに書かれているバージョンのgemが動き、コマンドを実行される。

 

bundle execをつけないと

Gemfile.lockに基づかずに、システム側のgemを指定し、コマンドが実行される。

なのでgemのバージョンはシステム中のバージョンで実行される。

 

 

bundlerとは

  • プロジェクト内で使うGemのパッケージ管理ツール。Gemをプロジェクト単位で管理することができるもの (rbenvのGem版のようなもの)

以上、ザックリ。

 

参考サイト

https://www.eiji56.com/2018/08/bundle-exec/

https://qiita.com/dawn_628/items/1821d4eef22b9f45eea8