在项目上使用特定的Ruby版本

时间:2018-10-19 14:22:04

标签: ruby

我正在尝试在特定项目上使用特定版本的ruby。我研究了RVM和rbenv软件包,但对它们中的任何一个都收效甚微。

这些是我采取的步骤:

  • 创建项目目录并导航到该目录;

  • 运行rbenv install 2.3.1;导航到〜/ .rbenv / versions后,我可以在其中看到“ 2.3.1”;

  • 运行“ rbenv local”也回显2.3.1;

我的Gemfile如下:

ruby '2.3.1'

source 'https://rubygems.org/' do 
    gem 'test-kitchen'
    gem 'kitchen-terraform'
end

但是,当我运行bundle install时,出现以下错误:

  

您的Ruby版本是2.5.1,但您的Gemfile指定了2.3.1

这是我第一次使用Ruby,所以我有点挣扎。感谢您的帮助,如果需要,可以提供更多详细信息。

2 个答案:

答案 0 :(得分:0)

像这样设置默认的rbenv版本:

$ rbenv shell jruby-1.7.1

参见:https://github.com/rbenv/rbenv#rbenv-shell

答案 1 :(得分:0)

如果您将项目的红宝石版本存储在项目的.ruby-version中,并将宝石集(即,宝石列表工作区)存储在项目的.ruby-gemset中(如果特定版本对您很重要,我建议您这样做) ,当您进入项目目录时,rvm应该会接听。但是,有时它并不取决于您的设置或安装,在这种情况下,您可以通过以下方式明确选择它们:

rvm use `cat .ruby-version`
rvm gemset use `cat .ruby-gemset

例如,我将其添加到任何安装脚本中。您可能需要先运行gem install bundler才能运行bundle install,第一次使用新的宝石集。