【问题标题】:rvmsudo command not working properlyrvmsudo 命令无法正常工作
【发布时间】:2012-12-07 14:55:33
【问题描述】:

我正在尝试获取 RoR 环境的更新版本。

我运行的是 Ubuntu 12.04,我有这个设置:

$ groups
user adm cdrom sudo dip plugdev lpadmin sambashare rvm
$ rvm -v
rvm 1.17.2 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
$ rvm list

rvm rubies

=* ruby-1.9.3-p327 [ x86_64 ]

# => - current
# =* - current && default
#  * - default
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]
$ gem -v
1.8.24
$ rails -v
Rails 3.2.9

一切正常。但是现在我正在尝试安装 Thin,我发现我的 rvmsudo 命令几乎没用:

$ rvmsudo echo 1
1
$ rvmsudo ruby -v
sudo: ruby: command not found
$ rvmsudo gem -v
sudo: gem: command not found
$ rvmsudo rails -v
sudo: rails: command not found

运行“rvmsudo Thin install”时出现同样的错误。

我完全被困住了。在 Ubuntu 10.04 中它运行良好,甚至我在 12.04 中的第一次测试也让 rvmsudo 运行良好。这次我遵循了完全相同的步骤,但似乎没有任何效果。

我使用“curl -L https://get.rvm.io | sudo bash -s stable”安装了 RVM,我将自己添加到 rvm 组,重新启动机器,使用“source /etc/profile.d/rvm.sh”并安装我的东西正常。

我错过了什么吗?

谢谢!

【问题讨论】:

  • echo $PATHrvmsudo echo $PATH 的输出有什么不同吗?
  • 我有类似的东西.. superuser.com/questions/376669/…
  • 贾斯汀,他们一模一样:/usr/local/rvm/gems/ruby-1.9.3-p327@rails329/bin:/usr/local/rvm/gems/ruby-1.9.3-p327@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p327/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
  • 大卫,我尝试了那个 bash curl 命令,它让我的 rvm 更加混乱,但后来我回显了 ~/.rvm 的路径并使用了rvm reload。然后我每次尝试运行 rvmsudo 时都会遇到安全路径问题。它说export rvmsudo_secure_path=1。现在我正在努力解决这个问题。

标签: ruby-on-rails ruby rvm ubuntu-12.04


【解决方案1】:

~/.bashrc 文件的最后添加export rvmsudo_secure_path=1 并重新启动终端。

这对我有用(Ubuntu 12.10 运行 bash)

【讨论】:

    【解决方案2】:

    这是因为您的/etc/sudoers 中设置了secure_path 选项,并且该选项的值与您当前的shell $PATH 不同。

    解决方案:

    1. 将以下命令添加到您的 shell 初始化脚本中(对于 bash 销售,对于 *nix 是 .bashrc,对于 mac os x 是 .bash_profile)

      export rvmsudo_secure_path=0  # means don't use the value in rvmsudo
      
    2. 将 rvm 和 Ruby 的路径添加到 secure_path 值。

    在我看来,第一个更可取。

    【讨论】:

      【解决方案3】:

      我设法让它工作。

      看到this serverfault page,觉得问题差不多,就试了一下。

      RVM 1.17 版中似乎有一些问题。我使用以下命令安装了以前的版本:

      \curl -L https://get.rvm.io | sudo bash -s -- --version 1.16.13
      

      但请注意,RVM 1.17 安装 ruby​​-1.9.3-p327,而 RVM 1.16.13 安装 ruby​​-1.9.3-p286。

      从 1.16.13 更新也不起作用,所以希望他们尽快修复它。

      【讨论】:

      • 有没有试一试大师版:rvm get head?
      • 是的,mpapis,同样的问题。干杯。
      • 我看到你提到了export rvmsudo_secure_path=1 - 你设置了吗?
      【解决方案4】:

      这似乎已在最新的 1.18.x 版本中得到修复。我升级到 1.18.5 版本,这个问题就消失了。

      【讨论】:

        【解决方案5】:

        我在更新 rvm 和 ruby​​ 后遇到了同样的问题,而 rvmsudo_secure_path=1 对我有帮助,正如 http://www.snowcrash.eu/rvmsudo_secure_path/ 中所述

        【讨论】:

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