【问题标题】:rvm-installed ruby: runs in terminal fine, not anywhere elservm-installed ruby​​:在终端运行良好,而不是在其他任何地方
【发布时间】:2011-11-11 17:32:09
【问题描述】:

我已经在 Linux Mint 11 上通过 RVM 安装了 Ruby。它似乎安装得很好:当我输入 rvm | head -1,我得到“rvm 是一个函数”。输入 ruby​​ -v 给我 1.9.2p290。我可以从 bash 终端窗口运行 ruby​​ 脚本。但是,当我尝试从说 gvim(我有一个映射到“ruby”的快捷方式)或 geany 或 gedit(同上)运行相同的脚本时,我得到“ruby:找不到命令”(在 gvim 中)或“ruby : 未找到”(在 geany 或 gedit 中)。

这里有更多信息:“which ruby​​”给了我:$HOME/.rvm/rubies/ruby-1.9.2-p290/bin/ruby。 $HOME/.rvm/rubies/ruby-1.9.2-p290/bin 在我的 .bashrc 路径中。在另一台 Linux Mint 11 机器上,一切正常,“which ruby​​”给了我 $HOME/.rvm/bin/ruby。此外,在一切正常的机器上,我有一个 $HOME/bin 文件夹,我不知道它来自哪里,但与我的 .rvm 文件夹在同一天创建。除其他外,它还包含指向 $HOME/.rvm/wrappers 文件夹中的 shell 脚本的链接。

【问题讨论】:

  • 首先,在两台机器上运行rvm get head,并按照它输出的说明进行操作,以确保您的 RVM 是最新的。然后在两台机器上运行rvm info并比较输出。
  • Did both--"rvm info" 在两台机器上显示相同,除了在 PATH 语句中添加了“$HOME/bin”(以及随附的 $HOME/bin 目录) ) 在工作的机器上。我的问题是这个目录是从哪里来的?我当然不记得创建它。它有 shell 脚本和指向 erb、gem、rake、ruby 等 shell 脚本的链接。
  • 更多有趣的信息:在两台机器的$HOME/.profile 中,存在以下行:# set PATH so it includes user's private bin if it exists if[-d "$HOME/bin"] ; then PATH="$HOME/bin:$PATH" fi 当然,它确实存在于工作的机器上;不在那个没有。
  • 所以我想我已经解决了;或者至少想出一个解决方法——不知道这是否是最佳实践。根据我上面最后一条评论中的信息,我在.profile 文件中为$HOME/.rvm/bin 添加了类似的if 语句。现在可以了!显然,mint 似乎有条件地加载了.profile 文件;我将不得不对此进行更多研究,但至少我现在已经到了工作点。谢谢大家的指点。

标签: ruby rvm linux-mint


【解决方案1】:

我也有同样的问题,你应该尝试做 shell 登录。为此,请使用命令“bash -l”而不是简单的“bash”。在geany中,您可以在edit->preferences->terminal->shell

中找到更改它的位置

【讨论】:

    【解决方案2】:

    我认为您没有将当前的 ruby​​ 设置为系统默认值。尝试运行此命令:

    rvm use 1.9.2 --default
    

    【讨论】:

    • 对不起,我想我也应该添加这个细节。我已经使用上面的命令设置了默认值。还是不行。
    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 2020-10-17
    • 2016-07-18
    • 2013-12-27
    • 2014-02-21
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多