You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React Native项目集成Expo时卡在expo-modules-core,NDK并行安装耗时过长且存在高风险漏洞

React Native项目集成Expo时卡在expo-modules-core,NDK并行安装耗时过长且存在高风险漏洞

嗨,这种卡在依赖安装环节还碰到底层漏洞提示的情况确实挺闹心的,我给你整理了几个实战过的解决方案,你可以一步步试试:

解决卡在expo-modules-core的问题

  • 彻底清理缓存后重试
    缓存堆积经常会导致依赖安装异常,先执行以下命令清掉各类缓存:

    # 清理npm缓存
    npm cache clean --force
    # 清理React Native缓存
    npx react-native start --reset-cache
    # 删除node_modules和锁文件后重装
    rm -rf node_modules package-lock.json
    npm install
    
  • 手动指定NDK版本,避免自动下载卡顿
    expo-modules-core对NDK版本有要求,自动安装时可能因为网络或版本兼容问题卡住。你可以手动在Android项目配置里指定稳定版本:
    打开android/build.gradle,在android块中添加NDK版本配置:

    android {
        // 其他配置...
        ndkVersion = "25.1.8937393" // 这个版本适配大部分RN 0.70+和Expo模块
    }
    

    然后打开Android Studio的SDK Manager,手动下载对应版本的NDK,再重新执行Expo安装命令。

  • 切换稳定网络或镜像源
    依赖下载慢大概率是网络问题,试试切换到稳定的网络环境,或者给npm设置国内镜像加速:

    npm config set registry https://registry.npmmirror.com
    
  • 手动安装指定版本的expo-modules-core
    自动安装的版本可能和你的RN版本不兼容,先卸载现有包再手动安装兼容的稳定版:

    npm uninstall expo-modules-core
    # 替换成和你RN版本匹配的版本,比如RN 0.70+选1.11.x系列
    npm install expo-modules-core@1.11.0
    

处理高风险漏洞问题

  • 先排查漏洞具体来源
    不要急着执行npm audit fix --force(强制修复可能破坏依赖链),先运行npm audit查看漏洞的具体依赖包和影响范围,确认是直接依赖还是间接依赖的问题。

  • 用依赖覆盖强制修复间接漏洞
    如果漏洞来自间接依赖,可以通过npm overrides(npm 8+支持)强制升级有漏洞的子依赖。比如在package.json中添加:

    "overrides": {
        "有漏洞的依赖包名": "修复后的安全版本号"
    }
    

    然后重新执行npm install,就能强制项目使用修复后的版本。

  • 等待官方修复或降级兼容版本
    如果漏洞来自Expo官方模块,先查看Expo的GitHub Issue或更新日志,确认是否已有修复版本。如果暂时没有,可以考虑降级到没有漏洞提示的Expo稳定版本,保证项目能正常运行。

备注:内容来源于stack exchange,提问作者chris aimsworth

火山引擎 最新活动