【问题标题】:chruby and ruby not available when I use sudo当我使用 sudo 时,chruby 和 ruby​​ 不可用
【发布时间】:2014-08-06 05:08:36
【问题描述】:

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

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

【问题讨论】:

    标签: ruby ubuntu chruby


    【解决方案1】:

    chruby wiki 上似乎已经回答了这个问题

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

    您也可以使用 sudo chruby-exec ruby​​-n.n.n -- [命令]

    例如。如果我跑

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

    它确实会根据需要调用 textmate。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多