如何在基于 MacOS 的 Github Action 运行器中设置 Bash 4 和其他 GNU 工具?

Posted

技术标签:

【中文标题】如何在基于 MacOS 的 Github Action 运行器中设置 Bash 4 和其他 GNU 工具?【英文标题】:How to setup Bash 4 and other GNU tools in MacOS based Github Action runners? 【发布时间】:2021-11-11 15:45:21 【问题描述】:

我的项目中有几个需要 Bash 4、GNU sed 等的 bash 脚本。在本地机器上设置它非常简单(更新.bashrcchsh 等),但我似乎无法让基于 MacOS 的 Github Actions 做同样的事情。

【问题讨论】:

【参考方案1】:

以下 Github Action YAML 被剪断将安装 brew,一个较新的 bash 版本,GNU sed 并将它们全部放在路径中,以便以下脚本可以正确选择它们:

- name: Install Bash 4 and GNU sed on Mac
  run: |
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    brew update

    brew install bash
    brew install gnu-sed

    echo "/usr/local/bin" >> $GITHUB_PATH
    echo "$(brew --prefix)/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH

确保所有脚本也有 #!/usr/bin/env bash 作为它们的 shebang。

【讨论】:

brew 如何知道应该安装哪个版本的 bash(4 或 5 等)? 好点,我应该将问题调整为“bash > 3”,因为这是这里的实际用例。

以上是关于如何在基于 MacOS 的 Github Action 运行器中设置 Bash 4 和其他 GNU 工具?的主要内容,如果未能解决你的问题,请参考以下文章

macOS上Git安装与GitHub基本使用

macOS 基于文档的应用程序如何启动?

如何跟踪基于javapackager的应用程序在macOS上启动时的作用?

macOS下Python多版本控制软件的安装:pyenvpyenv-virtualenv

基于 Agora SDK 实现 macOS 端的一对一视频通话

如何在 MacOS 上使用 OpenCV 链接 C++ 程序 [重复]