在vendor / bundle中安装特定的ruby版本?

时间:2017-10-18 02:23:15

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

在我的Gemfile中,我指定了mtcars %>% dplyr::rename( `miles per gallon` = mpg, number_gears = gear ) 但是当我这样做时:

ruby 2.2.7

我可以看到安装了ruby 2.2.0:

enter image description here

虽然,我还检查了rvm,它表示选择了ruby 2.2.7:

bundle install --path vendor/bundle

和gemset:

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 ]

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Bundler使用RbConfig::CONFIG["ruby_version"]中的值来构建gem的目录(请参阅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自己设置值。