App crashes at launch on Expo SDK 54: expo-file-system@18 pin conflicts with the app's expo-file-system 19
维护者通常 1 天内回复
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 65/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- react-native, typescript
- 领域
- mobile
调研方向
先复现 Expo SDK 54 的 Android release 崩溃,然后检查 [email protected] 的依赖声明,确认其中对 expo-file-system 18.. 的硬性固定。将该 package 的依赖行为与宿主应用中 Expo file-system 19.x 的安装情况进行比较。当一个当前的 Expo SDK 应用能够完成构建、启动并注册 file-system 模块,且不出现 NoClassDefFoundError 时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
👟 Reproduction steps
npx create-expo-app@latest myapp --template blank-typescript # Expo SDK 54
cd myapp
npm install react-native-appwrite # 0.34.0
npx expo prebuild --platform android --no-install
./android/gradlew -p android assembleRelease
# install and launch the APK on a device/emulator
👎 Actual Behavior
The app crashes immediately at launch:
FATAL EXCEPTION: pool-2-thread-1
Process: io.appwrite.connectqa
java.lang.NoClassDefFoundError: Failed resolution of: Lexpo/modules/filesystem/FilePermissionModule;
at expo.modules.filesystem.FileSystemPackage.createInternalModules(FileSystemPackage.kt:9)
at expo.modules.adapters.react.ReactModuleRegistryProvider.get(ReactModuleRegistryProvider.java:47)
...
[email protected] declares a hard dependency:
"dependencies": {
"expo-file-system": "18.*.*"
}
Expo SDK 54 apps use expo-file-system 19.x, so npm installs a second, nested copy of 18.x under node_modules/react-native-appwrite/. Expo autolinking then mixes the two versions' native code — FilePermissionModule was removed/relocated in 19.x — and module registration dies at startup.
👍 Expected Behavior
The SDK works on current Expo SDK releases. expo-file-system should likely be a peer dependency (or at least a range matching the host app's Expo SDK) instead of a hard 18.*.* pin.
🎲 SDK version
react-native-appwrite 0.34.0, Expo SDK 54, React Native 0.8x, Android (release build)
💭 Additional context
Caught by the Connect snippets QA in appwrite/vibes — the react-native Android lane scaffolds with create-expo-app@latest, adds the SDK, and the built APK crashes before rendering anything (Maestro screenshots show the launcher home screen instead of the app).
🤖 Generated with Claude Code
- 主要语言
- TypeScript
- 星标
- 4.2k
- 派生
- 38
- 平均合并
- 4 小时 43 分钟
- 30 天内合并 PR
- 10
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
appwrite/sdk-for-react-native 的其他 Issue
-
🐛 Bug Report: Storage uploads fail on Expo SDK 55 because the SDK imports a removed FileSystem API未关闭
难度 2/5 1-3 小时 新手友好度 65/100
appwrite/sdk-for-react-native#112 · 3 条评论 ·
维护者通常 1 天内回复
-
🐛 Bug Report: INVALID_STATE_ERROR crash after background + network disconnect + foreground cycle可能重新可做 关联的 PR 已关闭且未合并。 未关闭bug
难度 2/5 1-3 小时 新手友好度 76/100
appwrite/sdk-for-react-native#101 ·
维护者通常 1 天内回复
-
🐛 Bug Report: [TypeError: Cannot read property 'getItem' of undefined]可能重新可做 @shreshta312 于 62 天前认领,目前没有进行中的 PR。 未关闭bug
难度 3/5 1-2 天 新手友好度 58/100
appwrite/sdk-for-react-native#113 · 1 条评论 ·
维护者通常 1 天内回复
-
🐛 Bug Report: "Entity Too Small" 400 error in file upload可能重新可做 @ChiragAgg5k 于 376 天前认领,目前没有进行中的 PR。 未关闭bug
appwrite/sdk-for-react-native#73 · 2 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 appwrite/sdk-for-react-native 的全部 Issue
相似的 Issue
-
freshness freshness:observed-only
难度 2/5 1-3 小时 新手友好度 68/100
thoroc/context-radar#282 ·
-
bug P2 rust
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
area: web
难度 2/5 1-3 小时 新手友好度 85/100
gabe-santana/arkdraw#25 ·
-
bug require-triage
难度 2/5 1-3 小时 新手友好度 72/100
expressjs/expressjs.com#2549 · 1 个 reaction ·
维护者通常 1 天内回复
-
bug good first issue hacktoberfest
难度 2/5 1-3 小时 新手友好度 88/100
codercops/discord-bot#101 · 1 条评论 ·
维护者通常 1 天内回复