RVM gemset create无法工作

4

创建的gemset未显示出来

    root@host:/# rvm gemset create foobar
    成功创建'foobar' gemset (/usr/local/lib/ruby/gems/1.8@foobar).
    root@host:/# rvm gemset list
系统中的gemsets (路径:/usr/local/rvm/gems/system) *
root@host:/#

为什么会这样?请帮忙解决。

2个回答

8
您正在尝试为系统 Ruby 创建一个 gemset,而 RVM 无法控制该 Ruby 版本。
在创建 gemset 前,您需要先使用某个 Ruby 版本。这里以 1.8.7 为例,但具体取决于您已安装的 Ruby 版本。
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/ruby-1.8.7-p334@foobar).
$ rvm gemset list

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

我遇到的问题是,我认为系统上安装的是 Ruby 1.8.7,因为从 rails -v 命令中得到了这个版本号。有没有一种方法可以在 RVM 中安装与系统相同的 Ruby 版本,但具有自己的 gemsets? - Joseph Le Brech
安装Ruby版本1.8.7。你可能还想指定补丁号以匹配你的系统Ruby。在我的情况下,这是rvm install 1.8.7-p174(Snow Leopard)。 - Douglas F Shearer
我刚刚完成了。rvm install 1.8.7-p249; rvm use 1.8.7-p249; rvm gemset create rails2; rvm gemset list......没有任何东西... - Joseph Le Brech
嗯,我会再次进行RVM安装程序,听起来你可能漏掉了某些步骤。 - Douglas F Shearer
我在安装指南中添加了一行到.bashrc文件中,重新登录后它可以工作了 :) - Joseph Le Brech
太好了。第一次错过了,很容易发生。 - Douglas F Shearer

-4

我发现,如果你需要1.8.7和1.9.2版本的Ruby,最好的方法是将前者作为系统的一部分进行安装,然后在用户目录中安装1.9.2版本,并将bash指向1.9.2版本,分别使用它们,而不是试图与那个名为RVM的有缺陷的软件抗争。

现在可能可以工作,但很快当你安装另一个Ruby或Gem时,它就会崩溃,你将不得不重新开始战斗。

对我来说,这种方法非常有效,因为我使用1.8.7版本的Ruby来运行Kile,使用1.9.2和JRuby来开发我的项目,每次需要新的gem或更新时,RVM都会出问题。RVM是一个好的想法,但实现得很差。


实现不好?一旦按照安装文档进行操作,它就可以完美地为数百人服务。通常情况下,我忽略系统自带的 Ruby,而是在终端中默认使用 RVM 安装的 Ruby。 - Douglas F Shearer
它不起作用,这就是重点。在我的设置中,我不需要一个有缺陷的层来阻碍我和Ruby之间的联系。对于我来说,1.8.7 在所有意义上都不存在,然而我使用的唯一一个依赖于它的程序却可以愉快地使用它,当我在bash中输入ruby时,我总是得到1.9.2。我从来没有在1.8.7或JRuby上遇到过gem冲突,也不必担心更新时会出现问题或者像使用RVM那样费尽周折才能使用JRuby。你可以随便哭诉我称其实现不佳,但事实就是事实。 - javasucks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接