ITADN
huyz/brew-for-linux-arm
huyz/brew-for-linux-arm · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Linux ARM 版 Homebrew

[!NOTE] 2025-08-04 是时候弃用此仓库了。官方的 Linux 版 Homebrew 现在已适用于 ARM,尽管尚未获得官方支持。甚至已经有大量的 bottles 可用。

[!CAUTION] 此 Fork 由于这是一个不受支持的 hack,它最终可能会失效。

如何使用

此 fork 所做的只是 hack,以允许使用由 rbenv 安装的 ruby 来替代 /usr/bin/rubyGitHub commit - 允许 rbenv 的 ruby 优先

# filter the user environment
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
PATH="${HOME}/.rbenv/shims:${PATH}"

#FILTERED_ENV=()
FILTERED_ENV=("RBENV_VERSION=${RBENV_VERSION-}")

首次安装

要安装此 Homebrew,您首先需要安装 rbenv(例如,apt 中 Ubuntu 22.04 的版本即可):

git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build  # apt's ruby-build is too out of date
#sudo apt install libyaml-dev
#sudo dnf install libyaml-devel
rbenv install 3.3.3
rbenv shell 3.3.3
export HOMEBREW_BREW_GIT_REMOTE=https://github.com/huyz/brew-for-linux-arm
export HOMEBREW_DEVELOPER=1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | sed '532s/abort/warn/')"

您还需要重新添加 core tap(现已弃用):

brew tap homebrew/core

安装完成后,为了运行 brew,您可能应该创建一个包含以下内容的 brew 包装器:

#!/bin/bash
[[ -d ~/.rbenv/bin ]] && export PATH="~/.rbenv/bin:$PATH"
if command -v rbenv &>/dev/null; then
  export PATH="${PATH//$(rbenv root)\/shims:/}"
  eval "$(rbenv init -)"
  rbenv shell 3.3.3
else
  echo "Warning: rbenv not found" >&2
fi
HOMEBREW_BREW_GIT_REMOTE=https://github.com/huyz/brew-for-linux-arm HOMEBREW_DEVELOPER=1 exec /home/linuxbrew/.linuxbrew/bin/brew "$@"

升级 ruby

偶尔,您可能会从 brew upgrade 收到错误,因为 Homebrew 所需的 ruby 版本 在上游被提升了。要升级,您可以执行:

cd "$(rbenv root)"/plugins/ruby-build
git pull origin master
rbenv install 3.3.3

并且您应该更新您如上所述创建的 brew 包装器:

sed -i 's/^\([[:space:]]*rbenv shell\) .*/\1 3.3.3/' "$(which brew)"

然后您可以像往常一样 brew upgrade

注意事项

[!IMPORTANT] 部分解决方案 当然,这只是战斗的一半。许多官方公式无法工作,因为它们 并非针对 Linux ARM 编写。(例如,截至 2024-07-19,rust 公式将构建失败。)

[!WARNING] 我会尝试定期将我的更改变基到最新的上游提交之上,然后 强制推送新的变基提交。因此,在获取 此仓库的更新后,你可能需要执行 reset --hard

GitHub release License

功能、用法和安装说明已在主页上总结。术语(例如 Cellar、Tap、Cask 之间的区别等)在此处有解释。

有哪些可用的软件包?

  1. 输入 brew formulae 以获取列表。
  2. 或者访问 formulae.brew.sh 在线浏览软件包。

更多文档

brew helpman brew 或查看我们的文档

故障排除

首先,请运行 brew updatebrew doctor

其次,阅读故障排除检查清单

如果您不阅读这些内容,我们解决您的问题将花费更长的时间。

捐赠

Homebrew 是一个完全由无薪志愿者运营的非营利项目。我们需要您的资金来支付与持续集成相关的软件、硬件和托管费用,以及项目的未来改进。每一笔捐赠都将用于让 Homebrew 更好地服务我们的用户。

请考虑通过 GitHub SponsorsOpen CollectivePatreon 进行定期捐赠。Homebrew 由 Open Source Collective 提供财政托管。

有关捐赠的问题,包括企业捐赠,请通过电子邮件联系 Homebrew PLC:plc@brew.sh

社区

贡献

我们非常欢迎您为 Homebrew 做出贡献。首先,请阅读我们的贡献指南行为准则

我们明确欢迎从未参与过开源贡献的人:我们曾经都是初学者!我们可以帮助完善一个部分可用的拉取请求,目标是将其合并。我们也在积极寻求多元化我们的贡献者群体,特别欢迎来自各种背景的女性和有色人种人士。

贡献的一个良好起点是首先 tap homebrew/core,然后使用你使用的一些软件包运行 brew audit --strict(例如,如果你使用 wget,则运行 brew audit --strict wget),并阅读警告。尝试修复它们,直到 brew audit --strict 显示没有结果,然后 提交一个拉取请求。如果你使用的任何软件包都没有警告,你可以不带参数运行 brew audit --strict,让它对所有软件包运行,并选择一个。

或者,为了进行更实质性的贡献,请查看 Homebrew/brewHomebrew/homebrew-core 中标记为 help wanted 的问题之一。

祝好运!

安全

请通过填写 安全公告表单 来报告安全问题。

我们是谁

Homebrew 的 项目负责人Mike McQuaid

Homebrew 的 项目领导委员会Colin DeanMichka PopoffMike McQuaidPatrick LinnaneVanessa Gennarelli

Homebrew 的 技术指导委员会Bo AndersonIssy LongMichael ChoMike McQuaidRuoyu Zhong

Homebrew 的维护者是 Alexander BayandinBevan KayBo AndersonBranch VincentCaleb XuCarlo CabreraDaeho RoDouglas EichelbergerDustin RodriguesEric KnibbeFX CoudertIssy LongJustin KrehelKlaus HippMarkus ReiterMichael ChoMichka PopoffMike McQuaidNanda H KrishnaPatrick LinnaneRui ChenRuoyu ZhongRylan PolsterSam FordSean MolenaarŠtefan BaeblerThierry MoisanTimothy SuttonWilliam Woodruff

做出重要贡献的前维护者包括 Miccal MatthewsMisty De MéoShaun JackmanVítor GalvãoClaudia PellegrinoSeekerJan ViljanenJCountcommitayDominyk TillerTim SmithBaptiste FontaineXu ChengMartin AfanasjewBrett KoonceCharlie SharpsteenJack NagelAdam VandenbergAndrew JankeAlex DunnneutricTomasz PajorUladzislau ShablinskiAlyssa RossilovezfsChongyu Zhu 以及 Homebrew 的创建者:Max Howell

License

代码采用 BSD 2-clause "Simplified" License。 文档采用 Creative Commons Attribution license

Sponsors

我们的 macOS 持续集成基础设施由 MacStadium's Orka 托管。

Powered by MacStadium

安全密码存储和同步由 1Password for Teams 提供。

1Password

https://brew.sh 的 DNS 正在通过 DNSimple](https://dnsimple.com/resolving/homebrew) 进行解析。

DNSimple DNSimple

Homebrew 得到了 GitHubCustom InkRandy ReddigCodecademyWorkbrew 以及众多其他用户和组织的慷慨支持,通过 GitHub Sponsors

GitHub