跳转到内容
搜索 AlmaLinux 文档

    浏览当前文档目录

    开发工具链

    「编译环境怎么配」在 EL 系上有个固定答案的框架:系统语言栈走 AppStream,构建依赖走 CRB,版本冲突用容器解决。本页按这个框架组织。

    AppStream 提供带完整支持承诺的语言运行时(gcc、Python、Node.js 等)——它们随小版本更新,是生产环境的首选。多版本共存在 EL10 上的答案很朴素:优先用容器隔离各项目环境,而不是在同一系统里堆多套编译器;这是与 EL8 时代组件流(modularity)最大的思路差异,背景见枢纽站的EL10 工具链变化。

    镜像树的 9/ 与 10/ 下都有 devel/ 目录,对应面向开发者的包集合;运行时则由 CRB(CodeReady Builder)仓库提供编译所需的 -devel 头文件与构建依赖——自建 RPM 时先启用 CRB,dnf builddep 才能装齐依赖。两者关系与启用方式见仓库与 SIG 变体。

    自建包的流水线建议固定三件事:构建在独立于生产的主机或容器里做(别在生产机上装全量构建依赖);rpmbuild 环境用配置管理固化(见自动化运维);产物签名与仓库发布走独立通道。需要容器化构建的完整教程见枢纽站的Docker 入门。

    大版本升级(见ELevate 升级)对工具链的影响集中在:编译产物在新 glibc/gcc 下需要重编验证;第三方构建依赖若在 EL10 缺位,升级会留下旧包(ELevate 文档明确提示此类包会留在系统上)。升级前先用应用清单对一遍构建依赖。