【问题标题】:Ruby versions differ in Terminal & bashRuby 版本在终端和 bash 中有所不同
【发布时间】:2012-09-28 21:22:22
【问题描述】:

在终端中,ruby -v 给了我:

ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

但是如果我输入/bin/bash 然后ruby -v 我得到:

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]

我怀疑这与我的 PATH 配置有关。我的 $PATH 变量在上述两种环境中都不同。还有其他问题,例如rvm 不会运行,除非我进入 bash 模式。

有关信息,我的~/.bashrc 包含:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

【问题讨论】:

  • “我什至不明白 bash 和 vanilla Terminal 之间的区别”。弄清楚这一点对您来说非常好,否则在命令行下工作会让您感到非常困惑。
  • 好的 - 我正在研究那个。然而,不同版本的 Ruby 可能指向我需要修复的一些配置问题?

标签: ruby bash shell terminal rvm


【解决方案1】:

这不是 $PATH 问题造成的。我了解到的是,除非您将默认登录 shell 更改为 Bash 或 ZSH,否则无法运行 RVM。仅在 Mac 中启动终端是行不通的。您对使用 Bash 进行全局更改,如下所示:

chsh -s /bin/bash

(将/bin/bash 替换为您的bash 路径,使用which bash 查找)。

RVM 网站确实说 bash>=3.2.25 是 prerequisite,但没有说明它是什么或如何检查您是否拥有它。它还建议你运行rvm requirements 来检查你需要什么——除非你改变你的shell,否则你不能运行它(这对新手来说很困惑)。

感谢上面的回复让我最终到达那里。

另见:Bad: modifier error when installing RVM

【讨论】:

    【解决方案2】:

    从“终端”和“/bin/bash”尝试which ruby。您的 1.9.3 在您的 ~/.rvm 路径中。

    输入rvm info。您应该获得 RVM 的设置列表。

    在您的~/.bashrc 或~/.bash_profile 中,您应该有RVM 的初始化代码。如果你不这样做,你没有完全安装 RVM,需要完成。阅读RVM installation page 上的所有说明。

    【讨论】:

    • 谢谢。 Bash:'/Users/alastair/.rvm/rubies/ruby-1.9.3-p194/bin/ruby'。终端:'/usr/bin/ruby'。 rvm 仅在 bash 上输出。 ~/.bashrc 贴在上面供参考。
    【解决方案3】:

    貌似“login shell”没有启用,需要在终端模拟器偏好设置中启用,有时需要使用/bin/bash --login。

    ZSH 也存在已知问题,但似乎无关。

    【讨论】:

    • 我的终端首选项说'Shell open with: Default login shell (/usr/bin/login)' - 我应该设置为 Command: '/bin/bash --login'?
    • 是的,login 只是指向bash 的链接(很可能),并不意味着它会使用--login 标志作为shell,这是非常令人困惑的东西。跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-10-06
    • 2020-07-05
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多