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

在项目中使用特定的Ruby版本,ruby,Ruby,我试图在一个特定的项目上使用特定版本的ruby。我研究了RVM和rbenv软件包,但对其中任何一个都没有成功 以下是我采取的步骤: 创建项目目录并导航到它 运行rbenv安装2.3.1;导航到~/.rbenv/versions后,我可以在那里看到一个2.3.1版本 运行rbenv local也响应2.3.1 我的档案如下: ruby '2.3.1' source 'https://rubygems.org/' do gem 'test-kitchen' gem 'kitche

我试图在一个特定的项目上使用特定版本的ruby。我研究了RVM和rbenv软件包,但对其中任何一个都没有成功

以下是我采取的步骤:

创建项目目录并导航到它

运行rbenv安装2.3.1;导航到~/.rbenv/versions后,我可以在那里看到一个2.3.1版本

运行rbenv local也响应2.3.1

我的档案如下:

ruby '2.3.1'

source 'https://rubygems.org/' do 
    gem 'test-kitchen'
    gem 'kitchen-terraform'
end
但是,当我运行bundle安装时,会出现以下错误:

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


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

将您的默认rbenv版本设置为:

$ rbenv shell jruby-1.7.1

请参见:

如果您将项目的ruby版本存储在.ruby版本中,并将gemset(即gem列表)工作区存储在项目的.ruby gemset中,我建议您在特定版本对您很重要的情况下执行此操作,rvm应在您将其刻录到项目目录中时将其选中。但是,有时这并不取决于您的设置或安装,在这种情况下,您可以使用以下选项明确选择它们:

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

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

您的机器可能正在使用system ruby-请看以下内容:感谢您提供此链接。它帮助我卸载了主要的ruby安装,并使用rvm安装,最终修复了错误。我想我可以再次安装带有rvm的最新版本,并根据需要使用这两个版本。这是我第一次与Ruby合作,而不是100%明确,但是如果你来自不同的语言,你也可以考虑ASDF或AYNEV来管理红宝石,因为它们也有其他几种语言的插件。然后,您可以同时管理多种语言的版本