Use multiple versions of rubygems with rvm?

一个人想着一个人 提交于 2019-12-09 04:13:25

问题


I have two projects on my computer: - An old Rails 2.3 app that needs rubygems 1.6 and won't run under rubygems 1.8; - A newer app that needs rubygems 1.8 and won't run under rubygems 1.6.

Each project has its own rvm gemset, but I can't figure out how to give them different versions of rubygems itself:

  • gem update --system [version] results in gem --version giving the same answer in both;
  • rvm gemset [version] has the same result.

How can I run rubygems 1.6.2 in one project and 1.8.11 in the other?


To clarify, here's what I want to do:

  • In directory A, have a .rvmrc with commands that select gemset A and rubygems 1.6.2
  • In directory B, have a .rvmrc with commands that select gemset B and rubygems latest
  • Have two terminal sessions open at the same time, one in directory A and the other in directory B
  • Type "gem --version" in directory A and see "1.6.2"
  • Type "gem --version" in directory B and see "1.8.11"

回答1:


The correct way is to created different named (-n) installs of the ruby you want installed and name them according to the rubygem version you want such as

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

The reason for this is that you can only have 1 version of rubygems active an any given time. This is also due to the fact that each ruby defines a dependency on a specific rubygems version that version is known or expected to work with (regardless of if it can work with another or not).

This is the expected way to handle the multiple rubygems requirement and to eliminate potential problems. See https://gist.github.com/1273035 for specifics detailing this.




回答2:


RVM has a new feature for this:

use "rvm rubygems 1.6.2" to select that version of rubygems.

 rvm rubygems 1.6.2

https://rvm.io/rubies/rubygems/ (see: "RubyGems CLI API" towards the bottom of the page)

http://groups.google.com/group/rubyversionmanager/browse_thread/thread/e39fc7827d2d22e8



来源:https://stackoverflow.com/questions/7669443/use-multiple-versions-of-rubygems-with-rvm

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!