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

SDK 51安装expo-print后仍报错:无法找到原生模块ExpoPrint

Expo SDK 51 解决 "Cannot find native module 'ExpoPrint'" 错误

以下是针对该问题的具体解决方案:

  • 检查工作流类型
    Expo SDK 51 已将expo-print从Expo Go的内置模块中移除,如果你当前使用Expo Go运行项目,必然会出现原生模块找不到的问题。你需要切换到自定义开发客户端,或者执行npx expo prebuild将项目转为裸工作流。

  • 彻底重置依赖与缓存
    执行以下命令清理旧依赖和缓存,重新安装模块:

    rm -rf node_modules
    rm package-lock.json yarn.lock
    npx expo install expo-print expo-sharing
    npx expo start --clear
    
  • 验证插件配置
    在app.json或app.config.js中,确保expo-print和expo-sharing已添加到plugins数组中:

    {
      "expo": {
        "plugins": [
          "expo-print",
          "expo-sharing"
        ]
      }
    }
    

    完成配置后,若使用裸工作流需重新执行npx expo prebuild;若使用自定义开发客户端,需重新构建并安装客户端到设备。

  • 更新自定义开发客户端
    如果你使用自定义开发客户端,确保客户端是基于当前SDK51版本重新构建的,旧版本的客户端不会包含新安装的原生模块。

  • 代码优化(避免潜在问题)
    你的代码中可以补充错误处理,并确保shareAsync使用await:

    import * as Print from 'expo-print';
    import * as Sharing from 'expo-sharing';
    
    const GeneratePDF = async ({data}) =>{
        try {
            const html = `<h1> Teste </h1>`;
            const { uri } = await Print.printToFileAsync({ html: html, base64: false });
            await Sharing.shareAsync(uri);
        } catch (error) {
            console.error('PDF生成或分享失败:', error);
        }
    }
    
    export default GeneratePDF
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:12:38