Repolode
nrwl

nrwl/nx

面向 TypeScript 与多语言代码库的 Monorepo 构建平台,缓存未变更的任务并只运行受影响的部分。

可替代:Bazel

Star
29,416
Fork
2,961
未关闭 Issue
454
最近提交
60分钟前

这是什么?

Nx 是一个面向 TypeScript 及多语言代码库的 Monorepo 构建系统。它会缓存未变更任务的输出,只运行受某次改动影响的项目,并可将任务分发到多台机器上执行。在现有的 npm、pnpm 或 Yarn 工作区中运行 npx nx init 即可接入,它会直接读取已有的 package.json 脚本,无需修改原有配置。

Nx 通过插件系统自动发现任务,并根据所用工具链配置缓存的输入和输出。项目列出的支持范围包括 Vite、Webpack、Jest、Vitest、ESLint、Gradle、Maven、.NET 和 Go。CI 集成可对接 GitHub Actions、GitLab、Azure 等平台,实现远程缓存、仅运行受影响部分以及 e2e 测试自动拆分。

Nx 核心使用 Rust 编写,并支持用 TypeScript 扩展。其 CLI 也针对 AI 智能体做了优化。可选的 Nx Cloud 服务提供自愈式 CI 功能,由智能体检测失败并提出经过验证的修复方案。

核心功能

  • 01缓存任务输出,只重新运行受改动影响的部分。
  • 02可直接接入现有的 npm、pnpm 或 Yarn 工作区,无需重构。
  • 03插件自动发现 Vite、Webpack、Jest、ESLint 等工具的任务。
  • 04与 GitHub Actions、GitLab、Azure 等 CI 平台集成,支持远程缓存和任务分发。
  • 05支持 Gradle、Maven、.NET、Go 等多语言项目。
  • 06提供为 AI 智能体优化的 CLI。

适用场景

  • 加速包含大量相互依赖包的大型 TypeScript Monorepo 的构建与测试。
  • 在 CI 中为每个 Pull Request 只运行受影响的测试和构建。
  • 统一管理包含 Java、.NET 或 Go 的多语言代码库的构建任务。
  • 为已有的 npm、pnpm 或 Yarn 工作区增加缓存和仅运行受影响任务的能力。

快速上手

  1. 1

    在现有的 npm、pnpm 或 yarn 工作区中运行初始化命令

    npx nx init
  2. 2

    访问 Nx 快速入门文档获取完整安装步骤

使用前须知

  • 完整安装步骤位于外部快速入门网站,而非 README 本身。

收录于专题

标签

常见问题

nx 是什么?
面向 TypeScript 与多语言代码库的 Monorepo 构建平台,缓存未变更的任务并只运行受影响的部分。 Nx 是一个面向 TypeScript 及多语言代码库的 Monorepo 构建系统。它会缓存未变更任务的输出,只运行受某次改动影响的项目,并可将任务分发到多台机器上执行。在现有的 npm、pnpm 或 Yarn 工作区中运行 npx nx init 即可接入,它会直接读取已有的 package.json 脚本,无需修改原有配置。
nx 可以免费使用吗?用的什么许可证?
nx 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
nx 还在维护吗?
活跃维护中。nx 最近一次提交是在 2026年10月22日。
nx 适合用来做什么?
加速包含大量相互依赖包的大型 TypeScript Monorepo 的构建与测试。 在 CI 中为每个 Pull Request 只运行受影响的测试和构建。 统一管理包含 Java、.NET 或 Go 的多语言代码库的构建任务。 为已有的 npm、pnpm 或 Yarn 工作区增加缓存和仅运行受影响任务的能力。
nx 怎么安装和运行?
在现有的 npm、pnpm 或 yarn 工作区中运行初始化命令: npx nx init 访问 Nx 快速入门文档获取完整安装步骤
在哪里获取 nx?
源代码和安装说明在 GitHub 上:https://github.com/nrwl/nx

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目