我在Windows 7机器上运行rails并使用pik作为我的RVM。
我目前安装了ruby 1.9.3,但我有一个需要ruby 1.9.2的项目。
所以使用pik,我从gitbash
运行这些命令:
pik 192
ruby -v
ruby 1.9.2p180(2011-02-18)[i386-mingw32]
rails server
sh.exe“:rails:command not found
但是,当我使用pik 193时,我绝对可以看到服务器正在运行。在pik 192下运行宝石列表也不会显示任何本地宝石,而pik 193会显示很多本地宝石。
我如何“分享”这两个版本之间的宝石,还是有更好的选择风险较小?
答案 0 :(得分:1)
要跨安装共享宝石,您需要将宝石安装在两个安装的公共位置。
默认情况下,Ruby on Windows将在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%
这将允许宝石可执行文件可用。
但是,请注意,虽然Ruby 1.9.2和1.9.3声明它们是兼容的,但对于某些宝石的编译C扩展可能不是这样。
Ruby 1.9.3引入了1.9.2中没有的某些API级函数,这些函数在Ruby 1.9.2中加载1.9.3编译的gem时会引起问题
在某些情况下,这些差异可能会导致分段错误和奇怪的应用程序崩溃。
不建议使用,因此请自担风险。
希望有所帮助。