安装步骤会运行可变的远程包,其中 CocoaPods 安装具有管理员权限
原文依据:3 处项目创建命令使用可随时间变化的 `@latest`,反馈命令使用 `npx --yes ...@latest`,而 CocoaPods 前置条件建议通过 `sudo gem install` 全局安装未固定版本的 Gem。这些命令信任当时注册表返回的包及其依赖。
若注册表账号、包或依赖链被攻破,下载的代码可能在开发者权限下执行;通过 sudo 安装的内容还可更改系统级 Ruby 环境。即使没有攻击,未固定版本也可能产生不可复现的行为。
可见安装步骤确实包含三个不同风险:`create-expo-app@latest` 和 `submit-expo-feedback@latest` 会选择当时的最新版,CocoaPods 则通过未固定版本的 `sudo gem install` 获得管理员权限。它们是符合 Expo 集成目的的常规安装,并非恶意证据,但注册表包或依赖变化会影响实际执行代码。用户可要求固定版本、锁定依赖,并避免不必要的管理员级全局安装。
The integrated approach additionally requires **CocoaPods** on iOS (`sudo gem install cocoapods`). The isolated approach does **not** require CocoaPods or any RN tooling in the consuming native app.查看另外 2 个位置
```shnpx create-expo-app@latest my-project --template default@sdk-55```## Submitting FeedbackIf you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:```bashnpx --yes submit-expo-feedback@latest --category skills --subject "expo-brownfield" "<actionable feedback>"```Only submit when you have something specific and actionable to report. Include as much relevant context as possible.