Таким образом, я делал cgi рубиновый сценарий и имел следующее наверху файла сценария:
#!/usr/bin/env ruby
require 'rubygems'
require 'action_pack'
require 'cgi'
После нескольких часов не получения "/usr/bin/env: рубин: Никакой такой файл или каталог" ошибка и поиск Google, я удалил свой системный рубин 1.8.7 (у меня также было 1.9.3 установленных через rvm) путем выполнения sudo склонный - получают рубин чистки rubygems. Я все еще получаю ошибку. Когда я ввожу, "какой рубин", я получаю /home/homeuser/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
. У кого-либо есть понимание относительно того, как решить эту проблему?
Вот то, к чему приводит $PATH эха:
/home/homeuser/.rvm/gems/ruby-1.9.3-p194@rsoc326/bin:/home/homeuser/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/homeuser/.rvm/rubies/ruby-1.9.3-p194/bin:/home/homeuser/.rvm/bin:/var/lib/gems/1.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/homeuser/.rvm/bin
У меня есть эта та же установка на моем рабочем столе, и у меня нет той же проблемы.
/usr/bin/env ruby
должен указывать на рубин RVM.
, Но позволяет, проверяют Вашу установку
Проверка содержание Вашего ~/.profile
, она должна содержать что-то как эти 2 строки:
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM
rvm list
это должно произвести что-то как следующее:
rvm rubies
=* ruby-1.9.3-p286 [ x86_64 ]
# => - current
# =* - current && default
# * - default
в противном случае попытка, работающая rvm use 1.9.3 --default
При попытке запустить скрипт как корень, убедиться использовать rvmsudo ./yourscript.rb
вместо sudo ./yourscript.rb
, это удостоверяется, что устанавливает корректное $PATH
.
Сообщенный мне результат вышеупомянутых трех шагов.
Я добавил #!/home/homeuser/.rvm/bin/ruby
вместо #!/usr/bin/env ruby
. Таким образом, я предполагаю, что это означает что /usr/bin/env
точки к системному рубину и не любой из rvm рубинов.
решенная проблема, хотя было бы хорошо смочь использовать #!/usr/bin/env ruby
, таким образом, я могу переместить свой рубиновый сценарий с Рабочего стола на Ноутбук, не имея необходимость изменяться #!/home/homeuser/.rvm/bin/ruby
(немного отличающийся путь на моем рабочем столе из-за другого имени пользователя). Возможно, символьная ссылка?