You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo EAS构建依赖安装失败,如何适配react-native-deck-swiper?

解决EAS构建时react-native-deck-swiper依赖安装报错的方案

方案1:在EAS构建中强制执行依赖安装

可以通过配置eas.json,让构建过程在安装依赖时带上--force参数:

  • 打开项目根目录的eas.json文件
  • 在目标构建配置(比如production)中添加install字段,指定带强制参数的安装命令:
    若使用npm:
    {
      "build": {
        "production": {
          "android": {
            "buildType": "app-bundle"
          },
          "install": "npm install --force"
        }
      }
    }
    
    若使用yarn:
    {
      "build": {
        "production": {
          "android": {
            "buildType": "app-bundle"
          },
          "install": "yarn install --force"
        }
      }
    }
    
  • 保存配置后重新执行eas build --platform android即可。

方案2:修复依赖冲突(推荐)

强制安装只是临时 workaround,更稳妥的是解决根本的依赖版本冲突:

  • 本地执行npm ls或yarn why react-native,查看react-native-deck-swiper依赖的react-native版本与你项目版本是否存在冲突
  • 根据冲突结果,用包管理器的版本覆盖功能强制统一依赖:
    • npm用户:在package.json中添加overrides字段:
      "overrides": {
        "react-native-deck-swiper": {
          "react-native": "你的项目react-native版本号"
        }
      }
      
    • yarn用户:在package.json中添加resolutions字段:
      "resolutions": {
        "react-native-deck-swiper/react-native": "你的项目react-native版本号"
      }
      
  • 本地执行npm install或yarn install(无需--force)测试安装是否正常,再推送代码后执行EAS构建。

方案3:替换为Expo兼容的替代库

如果上述方法均无效,可以考虑使用Expo生态兼容的swiper类库,比如基于@react-native-community/slider自定义卡片滑动逻辑,或使用expo-swiper(按需选择),从根源避免依赖冲突问题。

内容的提问来源于stack exchange,提问作者Bro Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:35:51