如何仅为单个项目切换我的 Ruby 版本?

How do I switch my Ruby version for a single project only?

我读到 rbenv 只能用于为单个项目切换 Ruby 环境。我的系统上安装了 Ruby 2.4,但我只想将 2.3 版用于特定项目。我认为使用 "rbenv local" 可以治愈疼痛,但事实并非如此......

localhost:myproject davea$ rbenv local 2.3.0
localhost:myproject davea$ bundle install
Your Ruby version is 2.4.0, but your Gemfile specified 2.3.0
localhost:myproject davea$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]

如何仅将 Ruby 2.3 用于此项目?

rbenv local 只会在您的当前目录中设置一个 .ruby-version 文件,它不会为您加载该版本。您需要对其进行设置,然后 cd .. && cd - 让 rbenv shim 选择该版本。

如果你有一个 gemfile 你也可以添加 ruby '2.3.1' 在里面告诉你的系统使用那个 ruby 版本。

这是 linux 或 WSL 发行版的最佳解决方案

先看看你可以下载哪些版本

rbenv install -l

然后用

安装
rbenv install 2.6.6

现在您已经安装了一个版本来检查您拥有的所有版本:

rbenv versions 

然后要使用它,您可以在特定项目中本地设置它:

rbenv local 2.6.6

或全球

rbenv global 2.6.6

安装后,您可以使用 rails new 创建一个项目 ==> 自动设置为 ruby global

如果项目已经创建,有两种方法

  • 手动修改: .ruby-version 到您的全球版本
  • 运行 在项目的文件夹中 rbenv local 2.6.6

对我有用的是的解决方案:

rbenv local 2.7.1 # switches to ruby 2.7.1