Как иметь несколько версий Ruby AND Rails и их комбинации на Windows? - PullRequest
29 голосов
/ 06 сентября 2010

Поскольку Windows не поддерживает rvm (Менеджер версий Ruby), как мы можем получить

  • Ruby 1.8.7, Rails 2.3.8
  • Ruby 1.8.7, Rails3.0.0
  • Ruby 1.9.2, Rails 3.0.0

на одном компьютере?Виртуальные машины можно использовать, но это довольно хлопотно.

Ответы [ 4 ]

57 голосов
/ 06 сентября 2010

Используйте 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 в каталог инструментов.

Зарегистрировать 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 для управления несколькими версиями ruby ​​на компьютере с Windows.

Установка гема pik

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

Установка pik в папку, которая являетсяна вашем пути, но в другом месте, кроме вашего рубина \ bin dir.

>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

Установите Rubt 1.9.2 с помощью RubyInstaller и добавьте новую версию 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

В рельсах 3 используйте Gemfile, чтобы указать версию Rails:

gem "rails", "3.0.0"
4 голосов
/ 25 марта 2013

Я написал себе небольшой командный файл, который создает соединение (или символические ссылки) в NTFS.Идея состоит в том, чтобы сохранить ПУТЬ нетронутым.Путь всегда содержит 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
1 голос
/ 27 января 2015

Насколько я могу судить, uru управляет только версиями RUBY.

Для версий RAILS, где у вас уже есть 2 или более версий на локальной обработке, чтобы открыть проект в своей среде разработки, используя более старую версию rails, вы вводите следующее в командном окне:

rails _3.2.11_ s

, где 3.2.11 представляет версию RAILS, которую вы хотите использовать, которая должна быть той же самой версией, которая указана в файле вашего проекта:

Gemfile.lock

0 голосов
/ 26 июля 2016

После установки и регистрации всех ваших установок ruby ​​с помощью uru вам необходимо установить DevKit для каждой из установленных версий ruby.Для установки следуйте этим инструкциям .

Я обычно храню DevKit рядом с версией Ruby, к которой он принадлежит, например, C:\Ruby\Ruby193\DevKit, где Ruby193 - это папка, содержащая версию 193Рубин, который я зарегистрировал на uru.

...