当我使用sudo时,chruby和ruby不可用

时间:2014-08-06 05:08:36

标签: ruby ubuntu chruby

我在ubuntu 14.04上安装了chruby并安装了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软件包。

如果我按照我自己的方式登录,我会得到:

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

我想知道如何使用户会话作业webserver等通用ruby。

1 个答案:

答案 0 :(得分:0)

此问题似乎已在chruby wiki

上得到解答

实质上你必须得到root提示符,然后运行chruby setup脚本,切换rubies然后运行你的命令..

或者你可以使用sudo chruby-exec ruby​​-n.n.n - [command]

例如。如果我跑

sudo chruby-exec ruby-2.1.2 -- rmate test.txt

它会根据需要调用textmate。