Исполняемые сценарии Ruby с использованием текущего локального пользователя RVM Установить? - PullRequest
6 голосов
/ 06 марта 2012

Я бы хотел, чтобы скрипты ruby ​​с заголовком #! /usr/bin/ruby выполнялись с использованием текущей используемой версии rvm ruby.Я сталкиваюсь с проблемой, когда я использую данную версию, но после выполнения сценария вызывается системный ruby.Установка RVM для каждого пользователя в системе - это не вариант.

Проблема:

ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0]

/usr/bin/ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]

Как сделать следующее без выполнения общесистемной установки RVM?

ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0]

ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0]

1 Ответ

29 голосов
/ 06 марта 2012

Если вы сделаете which ruby, вы обнаружите, что RVM ruby не лежит на /usr/bin/ruby.Вместо этого используйте:

#!/usr/bin/env ruby

Это скажет ему найти, какой ruby использовать в текущей среде (по сути, $PATH).

Вы также можете выполнить свой скрипт черезruby сам по себе: ruby myscript.rb

...