1

我已经在 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​​ 包。

如果我以自己的身份登录 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

我想知道如何使该红宝石对用户会话作业网络服务器等通用。

4

1 回答 1

0

这个问题似乎已在chruby wiki上得到解答

本质上,您必须获得 root 提示,然后运行 ​​chruby 设置脚本,切换 rubies 然后运行您的命令..

或者,您可以使用 sudo chruby-exec ruby​​-nnn -- [命令]

例如。如果我跑

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

它确实根据需要调用 textmate。

于 2014-08-06T11:49:12.077 回答