代码之家  ›  专栏  ›  技术社区  ›  simo

在供应商/捆绑包中安装特定的ruby版本?

  •  1
  • simo  · 技术社区  · 7 年前

    在我的GEM文件中,我指定了 ruby 2.2.7 然而,当我这样做时:

    bundle install --path vendor/bundle
    

    我可以看到ruby 2.2.0已经安装:

    enter image description here

    尽管如此,我也检查了rvm,它表明选择了ruby 2.2.7:

    rvm list                           
    
    rvm rubies
    
     * ext-ruby-2.2.1 [ missing bin/ruby ]
       ruby-1.9.3-p551 [ x86_64 ]
       ruby-2.1.5 [ x86_64 ]
       ruby-2.2.2 [ x86_64 ]
    => ruby-2.2.7 [ x86_64 ]
       ruby-2.3.1 [ x86_64 ]
    

    和gemset:

    rvm gemset list                    
    
    gemsets for ruby-2.2.7 (found in /Users/Apple/.rvm/gems/ruby-2.2.7)    (default)
    => myapp    global
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   Holger Frohloff    7 年前

    捆绑程序使用来自 RbConfig::CONFIG["ruby_version"] 为gems构建目录(请参见 https://github.com/bundler/bundler/blob/master/lib/bundler/installer/standalone.rb#L38 ).

    "ruby_version" 不关心teeny_版本值,只输出Major。次要版本。
    这导致
    2.2.x->2.2.0
    2.3.x->2.3.0

    等等

    我现在不知道为什么teeny_版本会被忽视。我知道,你可以用 --with-ruby-version=2.4.1 一定要自己设定价值。