2

这些是我用 RVM 安装的红宝石

rvm rubies

   ruby-1.8.7-head [ x86_64 ]
   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-rc1 [ x86_64 ]

我有很多 1.9.2 的 gemsets

gemsets for ruby-1.9.2-p290 (found in /Users/mm/.rvm/gems/ruby-1.9.2-p290)
   19332
   309
   clone
   devise
   devise311
   enki
   global
   rails3
   rails301
   rails303
   rails304
   rails310
   rails313
   rails32
   rails323
   rails3tutorial
   railsValim

但是,当我尝试使用其中一个时,它说它不存在

rvm use 1.9.2@rails304
ERROR: Gemset 'rails304' does not exist, rvm gemset create 'rails304' first.
WARN: Gemset doesn't exist, proceeding with default gemset
WARN: ruby ruby-1.9.2-use1.9.2 is not installed.
To install do: 'rvm install ruby-1.9.2-use1.9.2'

请注意最后一行对 Ruby 版本的引用

To install do: 'rvm install ruby-1.9.2-use1.9.2'

这与上面列出的红宝石不同

ruby-1.9.2-p290 [ x86_64 ]

我不知道最后带有'use1.9.2'的Ruby来自哪里。也许我通过尝试做类似的事情搞砸了,rvm use 1.9.2所以“使用”这个词与 1.9.2 粘在一起,所以我尝试将另一个 rvm ruby​​ (p290) 设置为默认值

rvm use ruby-1.9.2-p290 --default
Using /Users/me/.rvm/gems/ruby-1.9.2-p290

但是当我这样做并尝试使用其中一个宝石时,它说它不存在

rvm use 1.9.2@rails304
ERROR: Gemset 'rails304' does not exist, rvm gemset create 'rails304' first.
WARN: Gemset doesn't exist, proceeding with default gemset
WARN: ruby ruby-1.9.2-use1.9.2 is not installed.
To install do: 'rvm install ruby-1.9.2-use1.9.2'

再一次,它引用了另一个 ruby​​ 版本 'ruby-1.9.2-use.1.9.2',最后带有那个有趣的 'use.1.9.2'。

我不知道这是我的人为错误,还是由于我最近安装的 Mountain Lion 导致了我计算机上的其他一些系统更改。

当我执行命令时,我将如何从系统中获取“ruby-1.9.2-use.1.9.2”并使用列出的 ruby​​ 1.9.2rvm rubies

       ruby-1.8.7-head [ x86_64 ]
       ruby-1.9.2-p290 [ x86_64 ]
       ruby-1.9.3-rc1 [ x86_64 ]
4

2 回答 2

2

我不知道为什么同义词“rvm use 1.9.2”停止工作并显示出如此奇怪的行为,但假设使用 rubie 工作的确切名称,您可以尝试像这样指定 gemset

rvm use ruby-1.9.2-p290@rails304

或设置为默认值

rvm use ruby-1.9.2-p290@rails304 --default
于 2013-01-01T11:15:53.797 回答
1

这里有一些信息用于理解的行为rvm use

当您运行rvm list known时,它将以下列格式列出红宝石:

[ruby-]1.9.2[-p320]
[ruby-]1.9.3-p125
[ruby-]1.9.3-p194
[ruby-]1.9.3-p286
[ruby-]1.9.3-p327
[ruby-]1.9.3[-p362]

[] 中包含的部分是可选的。因此,doingrvm use 1.9.3将尝试使用 1.9.3-p362,因为它被认为是最好的 1.9.3 版本。如果您没有安装它,它会要求您先安装它。这意味着,当您安装 ruby​​-1.9.2 时,它可能安装了 p290,因为它是最新版本,并且在将 RVM 升级到更新版本后不再是这种情况。因此,要将您的 gemsets 用于您已安装的版本,您需要执行rvm use ruby-1.9.2-p290@GEMSET.

于 2013-01-02T15:33:47.900 回答