由于Windows不支持rvm(Ruby版本管理器),我们如何拥有
在同一台PC上?可以使用虚拟机,但这有点麻烦。
答案 0 :(得分:57)
使用uru。它是一个多平台的ruby环境管理器。您可以在此处下载Windows版本:https://bitbucket.org/jonforums/uru/wiki/Downloads
安装工具
假设C:\tools
在PATH上,而uru_rt.exe
已提取到C:\tools
C:\tools>uru_rt admin install
这会将uru.bat
文件添加到tools目录。
注册ruby
uru admin add C:\ruby200\bin
列出可用的红宝石
uru ls
174 : jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM)
200p255 : ruby 2.0.0p255 (2013-07-07 revision 41812) [i686-linux]
=> system : ruby 2.1.0dev (2013-07-06 trunk 41808) [i686-linux]
切换ruby版本
uru 174
---> Now using jruby 1.7.4 tagged as `174`
可在此处找到更多命令:https://bitbucket.org/jonforums/uru/wiki/Examples
我使用Pik在Windows机器上管理多个版本的ruby。
安装pik gem
> gem install pik
Successfully installed pik-0.2.6
1 gem installed
将pik安装到路径中的某个位置,但除了ruby \ bin目录之外的其他位置。
>echo %path%
PATH=c:\pik;c:\ruby\Ruby187\bin;
>pik_install C:\pik
Thank you for using pik.
Installing to C:\pik
pik is installed
使用RubyInstaller安装Rubt 1.9.2并将新的Ruby版本添加到pik
注册表。
>pik add C:\Ruby192\bin
列出可用的Ruby版本:
>pik list
187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32] *
192: ruby 1.9.2p0 (2010-08-18) [i386-mingw32]
切换到Ruby 1.9.2:
>pik 192
>pik list
187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]
192: ruby 1.9.2p0 (2010-08-18) [i386-mingw32] *
在不同版本的Rails之间切换:
在Rails 2.x中,在config/environment.rb
文件中设置RAILS_GEM_VERSION:
RAILS_GEM_VERSION = '= 2.3.8' unless defined? RAILS_GEM_VERSION
在rails 3中,使用Gemfile
指定Rails版本:
gem "rails", "3.0.0"
答案 1 :(得分:4)
我自己写了一个小批处理文件,它在NTFS上创建了一个联结(也就是符号链接)。
我们的想法是保持PATH不受影响。该路径始终包含c:\devkit\bin;c:\ruby\bin;...
。以下批处理文件将更改指向实际目录的链接。
@echo off
echo 1 - Ruby 1.9.3
echo 2 - Ruby 2.0.0 (32 bit)
echo 3 - Ruby 2.0.0 (64 bit)
choice /C 123 /M "Which Ruby? "
if errorlevel 255 goto confused
if errorlevel 3 goto 3
if errorlevel 2 goto 2
if errorlevel 1 goto 1
if errorlevel 0 goto 0
goto confused
:1
if exist c:\ruby rmdir c:\ruby
if exist c:\devkit rmdir c:\devkit
mklink /j c:\ruby c:\ruby193
mklink /j c:\devkit c:\devkit-4.5.2
goto end
:2
if exist c:\ruby rmdir c:\ruby
if exist c:\devkit rmdir c:\devkit
mklink /j c:\ruby c:\ruby2-x86
mklink /j c:\devkit c:\devkit-x64
goto end
:3
if exist c:\ruby rmdir c:\ruby
if exist c:\devkit rmdir c:\devkit
mklink /j c:\ruby c:\ruby2-x64
mklink /j c:\devkit c:\devkit-x64
goto end
:confused
echo I'm confused ...
:end
ruby -v
答案 2 :(得分:1)
据我所知,uru只管理RUBY的版本。
对于RAILS的版本,您在本地工具上已有2个或更多版本,要在一个开发环境中使用较旧版本的rails打开项目,请在命令窗口中输入以下内容:
rails _3.2.11_ s
其中3.2.11表示您希望它使用的RAILS版本, 您希望与项目文件中列出的版本相同:
Gemfile.lock
答案 3 :(得分:0)
使用uru安装并注册所有ruby安装后,您需要为安装的每个ruby版本安装DevKit。如需安装,请按照instructions。
进行操作我通常将DevKit存储在它所属的Ruby版本旁边,例如,C:\Ruby\Ruby193\DevKit
其中Ruby193是包含我在uru
注册的193版Ruby的文件夹。