Серверная команда rails не работает и нет никаких драгоценных камней на другой версии ruby

Я бегу рельсы на машине Windows 7 и использую ПИК в качестве моего RVM.

В настоящее время у меня установлен ruby ​​1.9.3, но у меня есть проект, требующий ruby ​​1.9.2.

так что используя pik, я запускаю эти команды из gitbash:

  1. pik 192
  2. ruby -v

ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

  1. rails server

sh.exe ": rails: команда не найдена

однако, когда я использую pik 193, я определенно вижу работающий сервер. Запущенный список драгоценных камней в pik 192 также не отображает никаких локальных драгоценных камней, в то время как pik 193 отображает их много.

Как мне "поделиться" драгоценными камнями между этими двумя версиями или есть лучший вариант, который будет менее рискованным?

1 ответ

Решение

Чтобы разделить драгоценные камни между установками, вам нужно установить драгоценные камни в одном месте с двумя установками.

По умолчанию Ruby в Windows будет устанавливать гемы внутри каталога Ruby.

Вы можете убедиться в этом, выполнив:

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 представлены некоторые функции уровня API, которые недоступны в 1.9.2 и которые могут вызывать проблемы при загрузке гема, скомпилированного в 1.9.3, в Ruby 1.9.2.

Эти различия могут вызвать ошибку сегментации и в некоторых случаях странные сбои приложения.

Не рекомендуется, поэтому используйте на свой страх и риск.

Надеюсь, это поможет.

Другие вопросы по тегам