【问题标题】:How do I install Bash >= 3.2.25 on Mac OS X 10.5.8?如何在 Mac OS X 10.5.8 上安装 Bash >= 3.2.25?
【发布时间】:2012-05-21 10:39:10
【问题描述】:

我正在关注 Michael Hartl 的 Rails 教程,到目前为止我已经安装了 Git 1.7.5.4 x86_64(我正在运行 OSX 10.5.8)并且我正在尝试安装 rvm

运行以下命令后:

$ curl -kL get.rvm.io | bash -s stable

我明白了:

BASH 3.2.25 required (you have 3.2.17(1)-release)

我尝试使用chsh -s /opt/local/bin/bash 更改外壳,但我得到shell '/opt/local/bin/bash' does not exist

不知道从这里去哪里,但我会很感激任何指导。谢谢!

【问题讨论】:

  • 您使用的是什么发行版?您采取了哪些步骤来安装所需版本的 Bash?
  • 抱歉这个新手问题,但我将如何检查我的发行版?我在运行 OSX 10.5.8 的 Mac 上,我尝试按照此处的说明进行操作:stackoverflow.com/questions/791227/…(尚未安装 MacPorts)。遵循这些命令后,我的终端读取了“3.2.#”,但之后没有任何结果。
  • Mac OS X 没有 Linux 之类的发行版(我假设 CodeGnome 认为您正在运行)。
  • @kadolor 如果对您有帮助,您介意接受我的回答吗?它似乎也得到了别人最多的爱。

标签: bash rvm osx-leopard


【解决方案1】:

Homebrew 通常比 MacPorts 好一点,因为它不需要很多 sudo 操作。这是一篇指导我升级 bash 安装的文章:http://concisionandconcinnity.blogspot.com/2009/03/upgrade-bash-to-40-in-mac-os-x.html

至于步骤:

  1. 从他们主页上的文档安装Homebrew
  2. 使用 Homebrew 安装 Git(可选,但很高兴拥有更新的 git

    brew install git
    
  3. 现在安装bash:

    brew install bash
    
  4. 将此安装的 bash 添加到允许的 shell 列表中:

    echo '/usr/local/bin/bash' | sudo tee -a /etc/shells;
    
    • Homebrew 默认安装到/usr/local/Cellar/,然后将任何二进制文件符号链接到/usr/local/bin,所以你现在有了最新的bash/usr/local/bin/bash
  5. 最后,更改你的 shell 以使用这个新的:

    chsh -s /usr/local/bin/bash
    
  6. 打开一个新的终端窗口/选项卡,然后运行这些命令来仔细检查您的工作:

    $ echo $SHELL
    /usr/local/bin/bash
    $ echo $BASH_VERSION
    4.2.37(2)-release
    

【讨论】:

  • 我也不得不重启
  • 这个答案仍然适用,并且您可以继续在 Catalina 及更高版本上使用bash,现在它们的外壳默认为zsh
  • 我必须使用 chsh -s /bin/bash 才能让它工作
  • @TejasviManmatha 该命令会将您的 shell 更改为预安装的 bash,而不是 Homebred 安装的。
【解决方案2】:

mpapis 的说明很棒,但是当我尝试它们时并没有完全涵盖所有问题,所以这是我必须做的。每次我在旧系统上安装 RVM 时,都是一次真正的试用。下面是远非完美,花了将近一个小时,但它让我在 10.5.8 上获得了 Ruby 1.9.3。

大局(不总是解释的东西):

  1. RVM 设计为在您的用户帐户下运行,而不是使用sudo 以 root 身份运行,因此这些命令将在没有sudo 的情况下输入,如图所示。
  2. 注意 mpapis 的警告,我发现 Ruby-1.9.3-p448 可以与 10.5.8 附带的 gcc 版本 4.0.1 一起使用,但其他 Ruby 可能不会。
  3. 一些 Ruby 库需要启动 MacPorts 的安装,例如如果这样做:rvm pkg install zlib,但 pkg 已被弃用,因此请输入 rvm help autolibs 以了解更多信息……
  4. ...你可能更喜欢 MacPorts 的其他东西,但在让 rvm pkg install zlib 做我放弃的事情之后,我的 Ruby RVM 安装很好地使用了它。
  5. 安装 Ruby 可能需要很长时间,而且似乎什么也没做(您可能会看到 Installing required packages: autoconf, automake, [etc.] gdbm, ncurses........ 后面跟着更缓慢出现的 .......... 行),但它完成.
  6. 在这些处理器密集型安装期间,您的计算机风扇可能会在一段时间内以最高速度旋转 :-)

获取 rvm-install 脚本(k 选项绕过 SSL 警告):

curl -Lk get.rvm.io -o rvm-installer

阻止 BASH 版本检查

在 'rvm-installer' 脚本中手动注释检查您的 bash 版本的行(第 3-11 行)(原因:OS X 10.5.8 具有 BASH 3.2.17 并且脚本警告:@987654332 @。

运行安装程序

确保 rvm-installer 脚本是可执行的:

chmod +x rvm-installer

只需运行如下脚本即可获取 RVM(建议的命令/rvm-installer -s stable 可能只会调出Usage 文档):

./rvm-installer

你应该会看到:

Downloading RVM from wayneeseguin branch master

如果您收到SSL certificate problem,请允许curl 进行“不安全”下载,然后再次运行脚本:

echo insecure >> ~/.curlrc
./rvm-installer

开始使用 RVM 并安装 Ruby

​​>

要立即开始使用 RVM,请输入:

source /Users/your_user_name/.rvm/scripts/rvm

要安装 Ruby 1.9.3(标准 10.5 库的最安全选项),您现在应该能够输入:

rvm install 1.9.3

(这里的过程很长 - 见上面的第 5 点)。然后要使用新的 Ruby,请输入:

rvm use 1.9.3

【讨论】:

    【解决方案3】:

    您使用的是 Power PC Mac 吗?如果您使用的是 Intel PC,为什么不升级到 Lion。 Lion 附带 BASH 3.2.48。否则,您将不得不按照CodeGnome 的说明尝试使用 MacPorts。

    【讨论】:

      【解决方案4】:

      您可以通过删除对 bash 版本的检查来运行安装程序。

      安装 RVM

      curl -L get.rvm.io -o rvm-installer # Download
      sed -i"" '2,9 d' rvm-installer      # Remove the check
      chmod +x rvm-installer              # Allow executing the script
      ./rvm-installer -s stable           # Run installer
      

      请务必阅读 rvm requirements,我建议您安装支持 gcc-4.2 的 osx-installer 或 Xcode - GNU GCC 而不是 LLVM GCC,只有 Ruby 1.9.3-p194 与 LLVM 配合良好。

      安装红宝石

      rvm pkg install zlib
      rvm pkg install openssl
      rvm pkg install libyaml
      rvm install 1.8.7
      rvm install 1.9.2
      rvm install 1.9.3
      

      测试

      git clone https://github.com/wayneeseguin/rvm-test.git
      cd rvm-test
      gem install dtf
      dtf --text rvm-test/fast/* 2>&1 | tee test.log
      

      将创建文件test.log,请打开带有结果的ticket for RVM - 如果运行良好,我将降级检查 - 如果不是,则应在降级检查之前进行修复。

      【讨论】:

      • 我需要在 OS X 10.5 上快速临时安装,所以尝试了上述方法。首先,curl 抱怨证书,所以我添加了 -k 标志:curl -Lk get.rvm.io -o rvm-installer,然后... sed: -i may not be used with stdin 所以我手动注释掉了 bash 检查,但现在安装程序似乎没有 -s 选项- ./rvm-installer -s stable 显示“使用”,仅显示 --version--branch--trace 作为选项?
      • 最后,在完成echo insecure >> ~/.curlrc 之后,我运行了``./rvm-installer. But after warning Beware,'rvm pkg ...' 已被弃用,'rvm pkg install zlib 继续安装macports,我真的不想要,几个月前就删除了!
      • 如果 rvm pkg install zlib 安装了 port - 那么这是一个错误,但无论如何你需要阅读 autolibs 它优于 rvm pkg 并将安装所有对 ruby​​ 的要求(使用 macports / homebrew ...或任何其他公认和可用的包管理器
      • 谢谢 - 阅读 autolibs 信息,但已经通过运行 rvm pkg install zlib 为我安装了 MacPorts - 这是一个惊喜!而且,正如你所说,可能是其他东西的错误或副产品。在下面写下整个经验,以防它对处于这个位置的其他人有所帮助。顺便说一句,这是为了运行最新版本的 nanoc。
      【解决方案5】:

      您需要一种方法来安装正确版本的 Bash。一种方法是:

      1. Install MacPorts
      2. 使用sudo port install bash 安装 Bash 端口
      3. Change your shell 使用新版 Bash

      【讨论】:

      • 感谢您的回复。我也应该安装 XCode 和 X11?
      猜你喜欢
      • 2011-04-23
      • 2011-05-28
      • 2010-11-29
      • 2012-02-04
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      相关资源
      最近更新 更多