在 rvm 中使用多个版本的 ruby​​gems?

2024-01-05

我的计算机上有两个项目: - 旧的 Rails 2.3 应用程序需要 ruby​​gems 1.6,并且无法在 ruby​​gems 1.8 下运行; - 一个较新的应用程序需要 ruby​​gems 1.8,并且无法在 ruby​​gems 1.6 下运行。

每个项目都有自己的 rvm gemset,但我不知道如何为它们提供不同版本的 ruby​​gems 本身:

  • gem update --system [version] 导致 gem --version 在两者中给出相同的答案;
  • rvm gemset [version] 具有相同的结果。

如何在一个项目中运行 ruby​​gems 1.6.2,在另一个项目中运行 1.8.11?


为了澄清,这就是我想做的:

  • 在目录 A 中,有一个 .rvmrc,其中包含选择 gemset A 和 ruby​​gems 1.6.2 的命令
  • 在目录 B 中,有一个 .rvmrc,其中包含选择 gemset B 和 ruby​​gemslatest 的命令
  • 同时打开两个终端会话,一个在目录 A 中,另一个在目录 B 中
  • 在目录A中输入“gem --version”,看到“1.6.2”
  • 在目录 B 中输入“gem --version”,看到“1.8.11”

正确的方法是为您想要安装的 ruby​​ 创建不同的命名 (-n) 安装,并根据您想要的 ruby​​gem 版本命名它们,例如

rvm --install use 1.9.2-nrg186 && rvm rubygems 1.8.6 && gem --list
rvm --install use 1.9.2-nrg1810 && rvm rubygems 1.8.10 && gem --list

原因是在任何给定时间内只能激活 1 个版本的 ruby​​gems。这也是因为每个 ruby​​ 都定义了对特定 ruby​​gems 版本的依赖关系,该版本是已知的或预期可以使用的(无论它是否可以与另一个版本一起使用)。

这是处理多个 ruby​​gems 需求并消除潜在问题的预期方法。看https://gist.github.com/1273035 https://gist.github.com/1273035详细说明这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 rvm 中使用多个版本的 ruby​​gems? 的相关文章

随机推荐