web-dev-qa-db-ja.com

WindowsでRuby AND Rails、およびそれらの組み合わせの複数のバージョンを作成するにはどうすればよいですか?

Windowsはrvm(Rubyバージョンマネージャー)をサポートしていないので、どうすればよいですか?

  • Ruby 1.8.7、Rails 2.3.8
  • Ruby 1.8.7、Rails 3.0.0
  • Ruby 1.9.2、Rails 3.0.0

同じPCで?仮想マシンは使用できますが、面倒です。

30
nonopolarity

r を使用します。これはマルチプラットフォームですRuby環境マネージャー。Windowsバージョンはここからダウンロードできます: https://bitbucket.org/jonforums/uru/wiki/Downloads

ツールをインストールします

C:\toolsがPATH上にあり、uru_rt.exeC:\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の複数のバージョンを管理します。

Pikgemをインストールします

> gem install pik
Successfully installed pik-0.2.6
1 gem installed

パス内にあるが、Ruby\binディレクトリ以外の場所にpikをインストールします。

>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を使用してRubt1.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で、Rails_GEM_VERSIONをconfig/environment.rbファイルに設定します。

Rails_GEM_VERSION = '= 2.3.8' unless defined? Rails_GEM_VERSION

Rails 3では、Gemfileを使用してRailsバージョン:

gem "Rails", "3.0.0"
57
Harish Shetty

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
5
Steffen Roller

私の知る限り、uruはRubyのバージョンのみを管理しています。

ローカルマシンにすでに2つ以上のバージョンがあるRailsのバージョンの場合、古いバージョンのRailsを使用して開発環境でプロジェクトを開くには、コマンドウィンドウに次のように入力します。

Rails _3.2.11_ s

ここで、3.2.11は、使用するRailsのバージョンを表します。これは、プロジェクトのファイルにリストされているものと同じバージョンにする必要があります。

Gemfile.lock

1
space2earth

すべてのRubyインストールを uru にインストールして登録した後、 DevKit をインストールする必要があります)インストールされているRubyバージョンごとに。インストールについては、次の 手順 に従ってください。

私は通常、DevKitをそれが属するバージョンのRubyの隣に保存します。たとえば、C:\Ruby\Ruby193\DevKitここで、Ruby193は193バージョンのRuby私がuruに登録したこと。

0
Rajkaran Mishra