2013-03-01 75 views
1

我在Windows 7机器上运行rails并使用pik作为我的RVM。Rails服务器命令不工作,没有其他版本的红宝石的宝石

我有红宝石1.9.3目前安装,但我有一个项目,需要红宝石1.9.2。

所以使用PIK,i。从gitbash运行这些命令:

  1. pik 192
  2. ruby -v

红宝石1.9.2p180(2011-02-18)[I386-的mingw32]

  1. rails server

sh.exe“:导轨:找不到命令

然而,当我使用碧云193我肯定可以看到服务器运行。在pik 192下运行gem列表也不会显示任何本地宝石,而pik 193则显示它们中的很多。

我该如何“分享”这两个版本之间的宝石,还是有更好的选择,将风险较小?

回答

1

要在整个安装中共享宝石,您需要将宝石安装在两个安装的共同位置。

默认情况下,Windows上的Ruby将在Ruby的目录中安装gems。

您可以通过执行验证这一点:

gem env gemdir 

要在两个口译一个共同的地方安装,您将需要GEM_HOME环境变量设置为特定的目录,如C:\gems

SET GEM_HOME=C:\gems 
gem env gemdir 

您还需要将bin目录添加到PATH

SET PATH=C:\gems\bin;%PATH% 

这将允许gems可执行文件可用。

但是,请注意,虽然Ruby 1.9.2和1.9.3声明它们是兼容的,但对于作为某些宝石一部分的编译C扩展可能不适用。

的Ruby 1.9.3引入了不可在1.9.2和当1.9.3编译的宝石在Ruby中加载1.9.2

这些差异可能会导致可能会导致问题的某些API级的功能分段错误和怪异的应用程序在某些情况下崩溃。

不推荐使用,所以请自担风险使用。

希望有所帮助。

+0

只能为1.9.2安装宝石吗?我试着切换到1.9.2,运行gem install rack。它成功完成,但是当我做宝石列表时,我什么也没得到 – user571099 2013-03-02 02:02:04

+0

'gem env'的输出是什么,以及说明安装了宝石的地方?你检查过'gem env gemdir'还有'gem env path'告诉你了吗? – 2013-03-02 13:29:26