2011-04-01 45 views

回答

7

您正在尝试为系统ruby创建gemset,RVM无法控制该gemset。

您需要在创建gemset之前创建一个红宝石版本use。这里我使用1.8.7作为例子,但这取决于你安装了哪些红宝石。

rvm use 1.8.7 
rvm gemset create foobar 

现在,您可以:

$ rvm use 1.8.7 
Using /Users/dougal/.rvm/gems/ruby-1.8.7-p334 
$ rvm gemset create foobar 
'foobar' gemset created (/Users/dougal/.rvm/gems/[email protected]). 
$ rvm gemset list 

gemsets for ruby-1.8.7-p334 (found in /Users/dougal/.rvm/gems/ruby-1.8.7-p334) 
    foobar 
    global 
    rails3 
+0

我遇到的问题是我认为系统是在红宝石1.8.7上,因为这就是我从rails获得-v是否有一种方法可以在系统中安装与系统相同的ruby版本,但是它有自己的gemsets? – 2011-04-01 10:54:12

+0

'rvm install 1.8.7'。您可能还想指定补丁编号以匹配您的系统红宝石。在我的情况下,这是'rvm install 1.8.7-p174'(Snow Leopard)。 – 2011-04-01 11:02:38

+0

我刚刚做到了。 rvm install 1.8.7-p249; rvm使用1.8.7-p249; rvm gemset create rails2; rvm gemset list ......没什么...... – 2011-04-01 11:13:14

-4

我发现,如果使用前者为任何应用程序需要1.8.7和1.9.2安装它作为系统的一部分,然后再安装1.9 .2在用户目录中,然后将bash指向1.9.2版本并分别使用它们比尝试与名为RVM的有问题的POS进行搏斗要好得多。

它现在可能会有效,但是很快它会在您安装另一个Ruby或Gem时中断,并且您将返回战斗状态。

这对我很好,因为我为我的项目使用1.8.7 Kile,1.9.2和JRuby,每当我需要一个新的创业板或更新的东西时,RVM就会破坏一些东西。 RVM是一个不好实现的好主意。

+0

执行不力?一旦安装文档被遵循,它可以为数百人完美工作。通常我会忽略系统ruby,并在终端中默认使用安装了Ruby的RVM。 – 2011-04-01 23:52:55

+0

它不起作用,这是重点。在我的设置中,我不需要我和Ruby之间的一个错误图层。对于所有的意图和目的1.8.7对我而言并不存在,但是我唯一使用的程序依赖于它而愉快地使用它,并且1.9.2始终是我在bash中输入ruby时得到的结果。我从来没有与1.8.7或JRuby发生过冲突,我也不必担心当我更新或者必须像使用RVM一样跳过使用JRuby时,会有什么事会中断。你可以哭泣所有你想要的,我称之为实施不力,但事实是事实。 – javasucks 2011-04-01 23:55:44