2010-03-12 1 views
1

Недавно я установил jruby на машину, на которой также установлен рубин. Когда я делаюRake использует jruby вместо ruby ​​после установки jruby

rake something сейчас, похоже, используется переводчик jruby. Я бы хотел, чтобы рейк использовал интерпретатор рубинов. Буду признателен за любую помощь.

ответ

1

На какой платформе вы являетесь? Каков выход which rake, which ruby, which jruby? Как вы установили jruby?

Я собираюсь выйти на конечность и предположить, что, однако, вы установили jruby, это перевернуло ваш «чистый» рубиновый двоичный файл. В зависимости от платформы и того, как был установлен jruby, существует ряд способов, которые это могло произойти, например. PATH модификация, обновление-альтернатив, и т.д.

My /usr/bin/rake начинается с:

#!/usr/bin/env ruby 

Итак, если я изменил мой путь, так что JRuby каталог установки пришел первый и JRuby исполняемый псевдоним рубин, то rake вызывает /usr/bin/env ruby, который вызывает jruby.

Самое простое решение (в Баш оболочки) это делать:

alias rake='/usr/bin/ruby /usr/bin/rake' 

Недостатком является то, это решение поможет вам только и могут или не могут быть недоступны, если вы пытаетесь вызвать грабли где-то кроме командной строки.

Надеюсь, этого достаточно, чтобы указать вам в правильном направлении.

1

Проверьте переменную среды PATH ($ PATH на * nix и% PATH% на Windows). Когда вы вводите «rake», система будет выбирать первый бинарный файл, который он найдет в вашем PATH, поэтому, если jruby появится там, там будет использована версия rake jruby.

Решение: отрегулируйте переменную PATH и положите jruby в конец PATH.