使用私有 npm 包
编辑页面
了解如何配置 EAS Build 以使用私有 npm 包。
For the complete documentation index, see llms.txt. Use this 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 密钥来初始化它。更多信息请参阅 子模块初始化。