Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

App crashes at launch on Expo SDK 54: expo-file-system@18 pin conflicts with the app's expo-file-system 19

未关闭
#114 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

  • #1795 来自 @workflowhub26 —— 已关闭,未合并
  • #1968 来自 @atharvadeosthale —— 已关闭,未合并

评估

难度
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 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

appwrite/sdk-for-react-native 的其他 Issue

查看 appwrite/sdk-for-react-native 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。