ITADN
nodejs/node
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Node.js

Node.js 是一个开源、跨平台的 JavaScript 运行时环境。

有关使用 Node.js 的信息,请参阅 Node.js 网站

Node.js 项目采用 开放治理模式。 [OpenJS Foundation][] 为该项目提供支持。

贡献者应以协作的方式推动项目发展。我们鼓励建设性地交换不同意见并达成妥协。TSC 保留限制或阻止那些反复以阻碍、耗尽或以其他方式负面影响其他参与者的方式行事的贡献者的权利。

本项目有一份 行为准则

目录

支持

需要帮助?请查看 获取支持的说明

发布类型

  • Current:正在积极开发中。Current 版本的代码位于其主版本号对应的分支中(例如, v22.x)。Node.js 每 6 个月发布一个新的 主版本,允许进行破坏性变更。这发生在每年的 四月和十月。每年十月发布的版本支持期为 8 个月。每年四月发布的版本将在 每年十月转换为 LTS(见下文)。
  • LTS:获得长期支持的版本,侧重于稳定性 和安全性。每个偶数主版本号都会成为 LTS 版本。 LTS 版本获得 12 个月的 Active LTS 支持和额外的 18 个月 的 Maintenance。LTS 版本线按字母顺序排列代码名称, 从 v4 Argon 开始。除某些特殊情况外, 没有破坏性变更或功能添加。
  • Nightly:当 Current 分支有 更改时,每 24 小时构建一次。请谨慎使用。

Current 和 LTS 版本遵循 语义化版本控制。发布团队的 成员 签署 每个 Current 和 LTS 版本。 有关更多信息,请参阅 Release README

下载

二进制文件、安装程序和源代码 tarball 可在 https://nodejs.org/en/download/ 获取。

Current 和 LTS 版本

https://nodejs.org/download/release/

latest 目录是 最新 Current 版本的别名。latest-codename 目录是 LTS 系列最新版本的别名。例如, latest-hydrogen 目录包含最新的 Hydrogen(Node.js 18)版本。

Nightly releases

https://nodejs.org/download/nightly/

每个目录和文件名都包含版本(例如,v22.0.0), 随后是 UTC 日期(例如,20240424 表示 2024 年 4 月 24 日), 以及发布 HEAD 的短提交 SHA(例如,ddd0a9e494)。 例如,完整的目录名称可能类似于 v22.0.0-nightly20240424ddd0a9e494

API 文档

最新 Current 版本的文档位于 https://nodejs.org/api/。 特定版本的文档可在每个发布目录的 docs 子目录中找到。特定版本的文档也位于 https://nodejs.org/download/docs/

验证二进制文件

下载目录中包含一个 SHASUMS256.txt.asc 文件,其中包含文件的 SHA 校验和 以及发布者的 PGP 签名。

您可以从 nodejs/release-keys 获取受信任的密钥环,例如使用 curl

curl -fsLo "/path/to/nodejs-keyring.kbx" "https://github.com/nodejs/release-keys/raw/HEAD/gpg/pubring.kbx"

或者,您可以将发布者的密钥导入到默认密钥环中,请参阅 Release keys 以获取相关命令。

然后,您可以验证本地已下载的文件 (如果您使用的是默认密钥环,请传入 --keyring="${GNUPGHOME:-~/.gnupg}/pubring.kbx"):

curl -fsO "https://nodejs.org/dist/${VERSION}/SHASUMS256.txt.asc" \
&& gpgv --keyring="/path/to/nodejs-keyring.kbx" --output SHASUMS256.txt < SHASUMS256.txt.asc \
&& shasum --check SHASUMS256.txt --ignore-missing

构建 Node.js

有关如何从源码构建 Node.js 以及支持平台的列表,请参阅 BUILDING.md

安全

有关报告 Node.js 安全漏洞的信息,请参阅 SECURITY.md

为 Node.js 做贡献

  • [Contributing to the project][]
  • [Working Groups][]
  • [Strategic initiatives][]
  • [Technical values and prioritization][]

当前项目团队成员

有关 Node.js 项目治理的信息,请参阅 GOVERNANCE.md

TSC (Technical Steering Committee)

TSC voting members

TSC 正式成员

TSC 荣誉退休成员

TSC 荣誉退休成员

Trevor Norris <trev.norris@gmail.com>

协作者

Emeriti

荣誉合作者

协作者遵循 协作者指南 来 维护 Node.js 项目。

分诊者

分诊者在 响应新问题时遵循 分诊指南

发布密钥

Node.js 发布者的主要 GPG 密钥(部分发布者使用子密钥进行签名):

您可以使用项目维护的密钥环 https://github.com/nodejs/release-keys/raw/refs/heads/main/gpg-only-active-keys/pubring.kbx。 或者,您可以从公共密钥服务器导入它们。请注意, 项目无法保证该服务器的可用性,也无法保证该服务器上 密钥的可用性。

gpg --keyserver hkps://keys.openpgp.org --recv-keys 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 # Antoine du Hamel
gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 # Juan José Arboleda
gpg --keyserver hkps://keys.openpgp.org --recv-keys CC68F5A3106FF448322E48ED27F5E38D5B0A215F # Marco Ippolito
gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 # Michaël Zasso
gpg --keyserver hkps://keys.openpgp.org --recv-keys 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 # Rafael Gonzaga
gpg --keyserver hkps://keys.openpgp.org --recv-keys C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C # Richard Lau
gpg --keyserver hkps://keys.openpgp.org --recv-keys 108F52B48DB57BB0CC439B2997B01419BD92F80A # Ruy Adorno
gpg --keyserver hkps://keys.openpgp.org --recv-keys 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD # Stewart X Addison
gpg --keyserver hkps://keys.openpgp.org --recv-keys A363A499291CBBC940DD62E41F10027AF002F8B0 # Ulises Gascón

参见 验证二进制文件 了解如何使用这些密钥 验证已下载的文件。

用于签署某些先前版本的密钥

该项目维护一个密钥环,能够验证 Node.js 的所有历史版本,位于 https://github.com/nodejs/release-keys/raw/refs/heads/main/gpg/pubring.kbx

安全版本维护者

在可能的情况下,安全版本维护者轮换中的席位承诺由公司做出,以确保担任安全维护者的个人能够获得其雇主的 支持和认可,从而能够优先处理安全版本发布。安全版本维护者按照安全版本发布流程中所述,以轮换方式管理安全版本发布。

许可证

Node.js 采用 MIT 许可证

本项目还依赖于可能使用不同开源许可证的外部库。有关包含的许可证的完整列表,请参阅 LICENSE 文件。

如果您正在贡献文档或源代码更改,请确保您的 添加内容符合项目的许可证指南。