Рейк использует jruby вместо ruby ​​после установки jruby - PullRequest
1 голос
/ 13 марта 2010

Я недавно установил jruby на машину, на которой также установлен ruby. Когда я делаю

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

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

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

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

1 голос
/ 13 марта 2010

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

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

Мой /usr/bin/rake начинается с:

#!/usr/bin/env ruby

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

Самым простым решением (в оболочке bash) является:

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

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

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

...