能够在 Rails 版本的 Ruby 之间切换,一个来自 rbenv,另一个来自 rvm

Ability to switch between Ruby on Rails versions, one from rbenv, other from rvm

我先用rbenv在Linux CentOS 7上安装了ruby 2.2版和Rails 4.2版,然后用rvm安装了ruby 2.4版和rails 版本 5.2。有没有一种方法可以轻松地在它们之间切换,或者它们是否必须使用相同的方法安装才能工作?

最好使用 rvm。 Rvm 是使用命令

在多个版本之间切换的更好工具

rvm use ruby-2.5.1 or rvm use 2.5.1

要列出所有 rvm,只需使用

rvm list

在 rvm 中,您可以很好地管理版本,而无需 rbenv。

我更喜欢 RVM,它很容易在版本之间切换,你也可以使用多个 rails 版本 ruby 很容易

安装 rvm,安装 ruby 并使用 rvm use 2.4@rails_5_2 --create 创建一个 gemset 将创建一个名称为 rails_5_2

的 gemset

用于在版本之间切换。我在我的项目中使用 .ruby-version.ruby-gemset 文件,所以我不需要一直指定版本

在.ruby版本文件中写入ruby版本

2.4

并在ruby-gemset 中写入gemset 名称

rails_5_2

因此,无论何时您将 运行 项目都需要 ruby 和 rails 版本

您可以手动创建这两个文件,或者您可以 运行 从您的应用程序目录在终端中执行此命令,这将创建这两个文件

rvm --ruby-version use 2.4@rails_5_2

我通过删除 RVM 并使用 rbenv 安装更新版本来解决这个问题。使用相同的方法安装两个版本可以在需要时轻松切换。 shims 自动为每个项目分别使用正确的 Rails 版本。据我所知,Rails 版本与您启动项目时使用的版本锁定。您可以使用以下命令为每个项目切换 Ruby 版本:

# rbenv local 2.4.1

我选择 rbenv 而不是 rvm 是因为我读了几篇文章称赞 rbenv 的轻量级方法和易用性优于 rvm。

注意:“#”字符是 Linux CentOS 7 中命令行的开头,而不是您输入的字符。

编辑:谢谢你们的建议。它让我更加关注使用 rbenv 与 rvm。