【问题标题】:Install specific ruby version into vendor/bundle?将特定的 ruby​​ 版本安装到供应商/捆绑包中?
【发布时间】:2017-10-18 14:43:41
【问题描述】:

在我的 Gemfile 中,我指定了 ruby 2.2.7,但是当我这样做时:

bundle install --path vendor/bundle

我可以看到安装了 ruby​​ 2.2.0:

虽然,我还检查了 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 ]

还有宝石:

rvm gemset list                    

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

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    Bundler 使用来自RbConfig::CONFIG["ruby_version"] 的值来构建gems 的目录(参见https://github.com/bundler/bundler/blob/master/lib/bundler/installer/standalone.rb#L38)。

    "ruby_version" 不关心 teeny_version 值,只输出 Major.Minor 版本。
    这导致
    2.2.x -> 2.2.0
    2.3.x -> 2.3.0
    2.4.x -> 2.4.0
    等等。

    我现在不明白为什么 teeny_version 会被忽略。我知道,您可以使用 --with-ruby-version=2.4.1 自己设置值。

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多