chruby и ruby недоступны, когда я использую sudo
Я установил chruby на Ubuntu 14.04 и установил ruby-install и установил ruby 2.1.1 в /opt/rubies/
Я поместил следующее в /etc/profile.d/chruby.sh
if [ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ]; then
source /usr/local/share/chruby/chruby.sh
chruby ruby-2.1.2
fi
Я хочу, чтобы все пользователи использовали этот ruby, и пакет ruby по умолчанию не установлен.
Если я вхожу в Chruby как сам, я получаю:
ubuntuserver ~: chruby
* ruby-2.1.2
И ruby -v дает:
ubuntuserver ~: ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [i686-linux]
Однако, если я делаю sudo chruby, я получаю:
sudo: chruby: command not found
И если я сделаю что-то вроде sudo rmate myfile.txt, я получу:
ubuntuserver ~: sudo rmate test.txt
/usr/bin/env: ruby: No such file or directory
Я хочу знать, как сделать этот ruby универсальным для пользователей сеансов работы веб-сервера и т. Д.
1 ответ
Этот вопрос, кажется, был дан ответ на Chruby Wiki
По сути, вам нужно получить приглашение с правами root, а затем запустить скрипт установки chruby, переключить рубины, а затем выполнить команду.
В качестве альтернативы вы можете использовать sudo chruby-exec ruby-nnn - [команда]
например. Если я бегу
sudo chruby-exec ruby-2.1.2 -- rmate test.txt
он вызывает textmate по мере необходимости.