使用私有 npm 包
编辑页面
了解如何配置 EAS Build 以使用私有 npm 包。
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
EAS Build 对在你的项目中使用私有 npm 包提供完整支持。这些包可以发布到 npm(如果你有 Pro/Teams 方案),也可以发布到私有 registry(例如,使用自托管的 Verdaccio)。
在开始构建之前,你需要先配置你的项目,以便向 EAS Build 提供你的 npm token。
默认的 npm 配置
默认情况下,EAS Build 使用自托管的 npm 缓存,以加快所有构建的依赖安装速度。每个 EAS Build builder 都为每个平台配置了一个 .npmrc 文件:
Android
registry=http://npm-cache-service.worker-infra-production.svc.cluster.local:4873
iOS
registry=http://10.254.24.8:4873
发布到 npm 的私有包
如果你的项目使用的是发布到 npm 的私有包,你需要向 EAS Build 提供一个 只读 npm token,以便它能够成功安装你的依赖。
推荐的做法是将 NPM_TOKEN secret 添加到你的账户或项目的 secrets 中:
有关如何执行此操作的更多信息,请参阅 secret environment variables。
当 EAS 检测到在构建期间可用 NPM_TOKEN 环境变量时,它会自动创建如下 .npmrc:
//registry.npmjs.org/:_authToken=${NPM_TOKEN} registry=https://registry.npmjs.org/
不过,这仅在项目根目录中不存在 .npmrc 时才会发生。如果你已经有这个文件,则需要手动更新它。
你可以通过查看构建日志并查找 Prepare project 构建阶段来验证是否生效:
发布到私有 registry 的包
如果你使用的是私有 npm registry,例如自托管的 Verdaccio,你需要手动配置 .npmrc。
在项目根目录中创建一个 .npmrc 文件,并写入以下内容:
registry=__REPLACE_WITH_REGISTRY_URL__
如果你的 registry 需要认证,你还需要提供 token。例如,如果你的 registry URL 是 https://registry.johndoe.com/,则将文件更新为:
//registry.johndoe.com/:_authToken=${NPM_TOKEN} registry=https://registry.johndoe.com/
私有 npm 包和私有 registry 都使用
这是一个高级示例。
私有 npm 包始终是 作用域包。例如,如果你的 npm 用户名是 johndoe,那么私有自托管 registry URL 就是 https://registry.johndoe.com/。如果你想从这两个来源安装依赖,请在项目根目录中创建一个 .npmrc,内容如下:
//registry.npmjs.org/:_authToken=${NPM_TOKEN} @johndoe:registry=https://registry.npmjs.org/ registry=https://registry.johndoe.com/
私有仓库中的子模块
如果你在私有仓库中有一个子模块,你需要通过配置 SSH 密钥来初始化它。更多信息请参阅 子模块初始化。