系统架构
对于软件包而言,我们常常会看到如下的名字描述:
xxx-darwin-amd64、xxx-linux-arm64、xxx-windows-amd64 等。
这些名字是按照 软件包名-操作系统标识-CPU架构标识 的格式命名的。
可以通过 uname -a 命令查看当前系统的操作系统标识和 CPU 架构标识。
➜ uname -a
Darwin LNXKP26W9L 24.6.0 Darwin Kernel Version 24.6.0: Mon Aug 11 21:15:09 PDT 2025; root:xnu-11417.140.69.701.11~1/RELEASE_ARM64_T6041 arm64常见的的操作系统标识有 darwin、linux、windows 等,他们的定义如下:
| 操作系统标识 | 定义 |
|---|---|
| darwin | macOS 系统(Darwin 是 macOS 内核名) |
| linux | Linux 系统 |
| windows | Windows 系统 |
常见的 CPU 架构标识有 amd64、arm64 等,他们的定义如下:
| CPU 架构标识 | 定义 | 全称 |
|---|---|---|
amd64 | x86-64 架构 | x86-64 |
arm64 | ARM 架构 | AArch64 |
arm64/aarch64
arm64 和 aarch64 本质上是指的同一个 64 位 ARM 架构
ARM 架构的发展:
- 32 位 ARM 时代:早期 ARM 架构都是 32 位的,统一称为 ARM,对应的架构标识是 linux/arm32
- 64 位 ARM 时代:ARM 公司在 2011 年发布 64 位架构时,给它取了两个名称
- AArch64:官方技术名称,特指 ARMv8-A 架构的 64 位执行状态
- ARM64:行业简称,更通俗易懂,被广泛采纳
amd64/x86-64
arm64 和 aarch64 也是同一架构的不同命名
x86 架构的发展:
- 32 位 x86 架构:最早的 Intel CPU 的架构都是 32 位的,统一称为 x86 架构
- 64 位 x86 时代
- 最初 Intel 迟迟未退出 64 位 x86 架构,AMD 率先发布了兼容 32 位 x86 架构的 64 位处理器,命名为 AMD64
- Intel 后续跟进推出兼容的 64 位 x86 架构,命名为 x86-64
简单说:x86_64 是 64 位 x86 架构的中性技术学名,amd64 是因 AMD 首发而形成的商业俗称,二者完全等价。
C 标准库标识
一些软件还会根据区分不同的 C 标准库分发,例如 rspack 系列的 NPM 包 @rspack/binding-win32-arm64-msvc、@rspack/binding-linux-arm64-gnu 等等。点击查看更多
常见的 C 标准库有:gnu/musl/msvc,他们的区别如下:
| C 标准库标识 | 定义 | 解释 |
|---|---|---|
| gnu | GNU C 标准库 | 是 GNU 项目的 C 标准库,也是 Linux 系统默认的 C 标准库 |
| musl | MUSL C 标准库 | 是一个轻量级的 C 标准库,被广泛用于嵌入式系统和容器化应用 |
| msvc | Microsoft Visual C 标准库 | 是微软 Visual Studio 开发环境的 C 标准库,主要用于 Windows 系统 |