代码之家  ›  专栏  ›  技术社区  ›  Aniketos

在monorepo中使用eas内部版本启动应用程序时出错

  •  1
  • Aniketos  · 技术社区  · 1 年前

    我很难弄清楚为什么我的应用程序在iOS上失败了。 我有一个具有以下架构的monorepo:

    - apps/
      - app1/
        - package.json
        - eas.json
        - src/
        - ...
      - app2/
        - ...
    - packages/
    - package.json
    

    我跑 eas build --platform ios --local 在内部 apps/app1 如上面提到的 Expo ressources 。这将正确创建构建。我确实设法将其安装到模拟器中并启动了应用程序。但是,我立即收到多个错误,这些错误似乎与从 package.json 从根的层面。我做错了什么?

    我遇到了多个错误:

    • 不变违规:requireNativeComponent:在UIManager中找不到“RNCSafeAreaProvider”。
    • 错误:找不到本机模块'ExponentAV',js引擎:hermes
    • 错误:找不到本机模块“ExpoSecureStore”,js引擎:hermes
    • 错误:[@RNC/AsyncStorage]:本地模块:AsyncStorage为空
    • 错误:[Reanimated]Reanimated的本机部分似乎未初始化。

    根级别package.json的内容:

    {
      "name": "xxxxxxx",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "workspaces": [
        "apps/*",
        "packages/*"
      ],
      "keywords": [],
      "author": "",
      "license": "ISC",
      "dependencies": {
        "@expo-google-fonts/poppins": "^0.2.3",
        "@expo/metro-runtime": "~3.2.1",
        "expo": "~51.0.11",
        "expo-av": "~14.0.5",
        "expo-constants": "^16.0.2",
        "expo-dev-client": "~4.0.15",
        "expo-font": "^12.0.6",
        "expo-linking": "^6.3.1",
        "expo-router": "^3.5.15",
        "react": "^18.2.0",
        "react-dom": "18.2.0",
        "react-native": "0.74.2",
        "react-native-gesture-handler": "^2.16.2",
        "react-native-reanimated": "~3.10.1",
        "react-native-reanimated-carousel": "^4.0.0-alpha.12",
        "react-native-safe-area-context": "4.10.1",
        "react-native-svg": "15.2.0",
        "react-native-web": "~0.19.10",
        "expo-device": "~6.0.2",
        "expo-secure-store": "~13.0.1",
        "expo-splash-screen": "~0.27.5",
        "typescript": "~5.3.3",
        "expo-sharing": "~12.0.1",
        "expo-linear-gradient": "~13.0.2",
        "@react-native-async-storage/async-storage": "1.23.1",
        "expo-notifications": "~0.28.7"
      }
    }
    
    

    内容 app#1/package.json

    {
      "name": "solfy-mobile",
      "version": "1.0.0",
      "main": "expo-router/entry",
      "scripts": {
        "start": "expo start",
      },
      "dependencies": {
        "@expo-google-fonts/inter": "^0.2.3",
        "@expo/vector-icons": "^14.0.0",
        "@react-navigation/native": "^6.1.8",
        "@react-navigation/stack": "^6.3.18",
        "@myapp/package1": "*",
        "@myapp/package2": "*",
        "@types/react": "~18.2.45",
        "expo-updates": "^0.25.16",
        "uuid": "^9.0.1",
        "wavefile": "^11.0.0"
      },
      "devDependencies": {
        "@babel/core": "^7.20.0",
        "babel-plugin-module-resolver": "^5.0.0"
      },
      "private": true
    }
    
    

    备注:使用以下命令使用Expo Go时,应用程序工作正常:

    npm run start --workspace app1
    

    你能帮我吗,我无法理解发生了什么。我可能错过了使用expo/router或monorepo根依赖关系的monorepo配置中的一些东西,或者类似的东西?

    error example

    我试着编辑packages.json文件、eas.json、metro和rebuild,但我没有弄清楚配置错误的确切位置。

    谢谢你的帮助!

    0 回复  |  直到 1 年前
    推荐文章