57649


プロジェクトによって同じ ruby バージョンでも Gemfile.lock にかかれてる bundler version が違うことがあって困ってます

そういう状態にしてしまうことにも問題があると思うのですが

bundler 自体をプロジェクトごとのローカルディレクトリにインストールして  
リポジトリごとにしばることはできないのでしょうか

bundle install にはパスが指定できるのですが gem install の際にパスを指定するにはどうすればいいんでしょうか


CC BY-SA 4.0
2019-08-28T02:55:37.463
57648
2019-08-28T14:26:07.057
2019-08-28T03:04:38.790
question
ruby rubygems bundler
bundler 自体をローカルにインストールする方法


gemで入れたコマンドを実行する際gemのバージョン番号を`_`で囲って引数で渡すとバージョンを指定して実行できます。

[code]

    % bundle _1.17.3_ --version
    Bundler version 1.17.3
    % bundle _2.1.0.pre.1_ --version
    Bundler version 2.1.0.pre.1
    
[/code]

`gem install` の引数に `-v` でバージョン番号を指定すると、特定のバージョンのgemをインストールできます。

[code]

    % gem install bundler -v 1.17.3
    
[/code]

プロジェクトごとのローカルディレクトリにインストールせずとも、上記の方法でbundlerのバージョンをリポジトリごとに切り替えて使うことができると思いますが、どうでしょう?


CC BY-SA 4.0
2019-08-28T03:24:50.600
57649
2019-08-28T03:29:59.820
2019-08-28T03:29:59.820
2599
2599
57648
answer


RVMを使っている場合、Gemsetsという機能を使うと使用するgemをインストールする場所を分けて切り替えることができます。  
<https://rvm.io/gemsets/basics>

rbenvだとプラグインのrbenv-gemsetで同じようなことができます。  
<https://github.com/jf/rbenv-gemset>


CC BY-SA 4.0
2019-08-28T08:37:37.377
57657
2019-08-28T08:37:37.377
2599
57648
answer


GEM_HOME という環境変数を設定しておくと、そのディレクトリ配下に gem がインストールされます。


CC BY-SA 4.0
2019-08-28T14:26:07.057
57660
2019-08-28T14:26:07.057
3249
57648
answer