create-expo-app
编辑页面
一个命令行工具,用于创建新的 Expo 和 React Native 项目。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
create-expo-app 是一个命令行工具,用于创建和设置一个新的 Expo 和 React Native 项目。该工具通过提供多种模板来简化初始化流程,使你无需手动配置即可快速开始。
创建新项目
要创建新项目,请运行以下命令:
- npx create-expo-app@latest --template default@sdk-55注意: 在 SDK 55 过渡期内,不带
--template标志的create-expo-app@latest会创建一个 SDK 54 项目。如果你计划在实体设备上使用 Expo Go,请使用 SDK 54 项目。否则,请使用--template default@sdk-55来创建 SDK 55 项目。
运行上述命令后,系统会提示你输入项目的应用名称。这个应用名称也会用于 app config 的 name 属性。
你的应用名称是什么? my-app选项
使用以下选项来自定义命令行为。
--yes
使用默认选项创建新项目。
--no-install
跳过安装 npm 依赖或 CocoaPods。
--no-agents-md
跳过生成 AGENTS.md、CLAUDE.md 和 .claude/settings.json。默认情况下,create-expo-app 会生成这些文件,以便 AI 编码代理(例如 Claude Code)能够自动获得 Expo 特定上下文并配置 expo skills 插件。生成的 AGENTS.md 会指向与你项目 SDK 版本匹配的分版本 Expo 文档。
--template
使用 Node Package Manager 运行 create-expo-app 会使用默认模板初始化并设置一个新的 Expo 项目。
你可以使用 --template 选项选择以下模板之一,也可以将其作为该选项的参数传入。例如,--template default。
信息 想要更多模板吗?请查看
--example选项,以使用展示特定功能和集成的示例应用之一来初始化你的项目。
| 模板 | 描述 |
|---|---|
default | 默认模板。专为构建多页面应用而设计。包含推荐工具,如 Expo CLI、已启用的 Expo Router 库和 TypeScript 配置。适用于大多数应用。 |
blank | 安装最低必需的 npm 依赖,但不配置导航。 |
blank-typescript | 启用 TypeScript 的空白模板。 |
tabs | 安装并配置基于文件的路由,启用 Expo Router 和 TypeScript。 |
bare-minimum | 一个生成了原生目录(android 和 ios)的空白模板。会在设置过程中运行 npx expo prebuild。 |
--example
使用此选项可以通过 expo/examples 中的示例来初始化项目。
例如:
- 运行
npx create-expo-app --example with-router会设置一个使用 Expo Router 库的项目 - 运行
npx create-expo-app --example with-react-navigation会设置一个类似默认模板的项目,但配置为使用原生的 React Navigation 库
--version
打印版本号并退出。
--help
打印可用选项列表并退出。
Node Package Managers 支持
使用 create-expo-app 创建新项目时,也会处理为特定 Node Package Manager 所需的额外配置。
如果你正在从一个包管理器迁移到另一个包管理器,你需要在项目中手动完成额外配置。如果你正在使用 EAS,你也需要手动为任何额外必需步骤配置项目。
每种包管理器的所有额外步骤如下所列。
npm
本地安装
npm 是作为 Node.js 安装的一部分提供的。安装说明请参见 Node.js 文档。
EAS 安装
如果项目目录包含 package-lock.json,则默认支持。
Yarn 1 (Classic)
本地安装
Yarn 1 (Classic) 通常作为 npm 的全局依赖安装。安装说明请参见 Yarn 1 文档。
EAS 安装
如果项目目录包含 yarn.lock,则默认支持。
Yarn 2+ (Modern)
本地安装
安装说明请参见 Yarn 文档。
Yarn 2+ 处理包管理的方式与 Yarn 1 不同。Yarn 2+ 的核心变化之一是 Plug'n'Play (PnP) 节点链接模型,而该模型无法与 React Native 配合使用。
默认情况下,使用 create-expo-app 和 Yarn 2+ 创建的项目会使用 nodeLinker,并将其值设为 node-modules 来安装依赖。
nodeLinker: node-modules
EAS 安装
EAS 上的 Yarn Modern 需要为构建启用 Corepack。在 eas.json 的构建配置中将 corepack 设为 true:
{ "build": { "production": { "corepack": true } } }
然后,使用 packageManager 字段在项目的 package.json 中固定 Yarn 版本。在本地运行 yarn set version <version> 会为你更新此字段:
{ "packageManager": "yarn@4.14.1" }
添加以上两项配置后,当 EAS 安装依赖时,Corepack 会自动下载并使用固定的 Yarn 版本。
pnpm
本地安装
需要安装 Node.js。安装说明请参见 pnpm 文档。
默认情况下,使用 create-expo-app 和 pnpm 创建的项目会使用 nodeLinker,并将其值设为 hoisted 来安装依赖。
nodeLinker: hoisted
信息 在 SDK 54 及更高版本中,Expo 支持隔离安装,如果你更喜欢使用隔离依赖,可以删除
nodeLinker设置。
EAS 安装
如果项目目录包含 pnpm-lock.yaml,则默认支持。
Bun
有关使用 bun 创建新的 Expo 项目、从其他包管理器迁移以及在 EAS 中使用的详细信息,请参见 Bun 指南。