1
Help us understand the problem. What are the problem?

posted at

プロジェクトのgem, 端末にインストールされるgem,どっちを使うか指定する方法

gemとは?

2つの意味があります。

  1. Rubyのライブラリ のことです。詳細はこちら。
  2. gemを管理するパッケージ管理ツールの名前

ただ、gemというツールでパッケージを管理すると、依存関係で問題が発生することがあります。
そこでBundlerが登場します。

bundlerとは?

依存関係を考慮してgemを管理してくれるパッケージ管理ツールです。
https://bundler.io

Gemのインストール方法は大きく2種類

  1. 端末全体で使えるタイプ(globalインストール)
    mac,windows内のどこでも使えるようになる。
  2. プロジェクト(特定の階層)でのみ使えるタイプ(localインストール)
    作っているアプリの中で使えるようになる。

結論

bundle execをつける = ローカルインストールのgemが呼ばれる

例)

bundle exec rails g controller users

bundle execをつけない = グローバルインストールのgemが呼ばれる

参考

bundleをつけて実行しておけばOKかなくらいに思ってたので、これで理解できました。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?