Означает ли использование JRuby дубликат Ruby во всех приложениях?

StackOverflow https://stackoverflow.com/questions/1033320

  •  06-07-2019
  •  | 
  •  

Вопрос

Например, если я устанавливаю Rails для обычного Ruby, должен ли я иметь специальную установку Rails для JRuby? Так что у меня есть дубликаты для всего?

Это было полезно?

Решение

Простой ответ - да. JRuby представляет собой отдельную установку Ruby в вашей системе, поэтому Gems должен быть установлен как на JRuby, так и на Ruby отдельно.

Другие советы

Если вы связываете свои гемы с вашим Rails-приложением, и это может включать в себя и сам Rails, то нет необходимости иметь несколько установок.

Некоторые гемы бывают разных платформенных разновидностей, например, для JRuby или Win32, что может сделать это непрактичным, если приложение запускается в среде со смешанной платформой. В то время как Rails, кажется, не разветвляется таким образом, многие другие, особенно те, которые тесно связаны с Ruby, такие как скомпилированные расширения, делают.

Стоит попытаться связать как можно больше драгоценных камней с вашим приложением и использовать замороженную версию Rails, чтобы увидеть, как это работает, и настроить ее по мере необходимости.

Некоторые драгоценные камни используют расширения не-FFI C. Они не будут работать под JRuby.

Некоторые драгоценные камни устанавливаются по-разному, в зависимости от платформы (например, Mongrel). В этом случае требуется отдельная установка.

Вы можете установить Ruby и JRuby бок о бок, а затем сравнить гемы следующим образом:

gem list --local
jruby -S gem list --local
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top