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

Expo Snack添加npm包时提示not found in the registry问题咨询

Expo Snack引入npm包提示注册表找不到的问题处理

报错现象

在Expo Snack开发环境引入公共npm包@proximus/react-native-language-translation@^2.1.3时持续抛出如下错误,本地开发环境可正常安装、使用该包,也可正常访问公共npm源:

Failed to resolve dependency '@proximus/react-native-language-translation@^2.1.3' (Package '@proximus/react-native-language-translation' not found in the registry)

问题原因

  • Expo Snack不直接对接公共npm注册表拉取依赖,它使用平台自有的依赖缓存与代理源,仅会提前同步下载量较高、完成Expo生态适配的包。你使用的@proximus为前缀的scoped包属于小众范围发布的资源,未被纳入Snack的依赖同步列表,就会触发找不到包的报错。
  • 该包属于包含原生平台代码的React Native模块,既没有被纳入Expo SDK内置支持列表,也没有做Expo Go运行时适配,Snack的前置依赖校验会直接拦截这类包,统一抛出注册表查找失败的通用错误,和本地能否正常安装、访问npm源没有关系。

解决方法

  • 若仅需在Snack的web预览端做功能演示,可以找到该包构建好的ESM/UMD格式在线资源,直接通过远程地址引入,绕开Snack的npm依赖解析逻辑,该方案不支持原生端预览。
  • 如果包的依赖层级简单,可以直接把包的源码拷贝到Snack的项目目录下作为本地文件引用,不需要在依赖配置中声明npm包。
  • 若需要验证原生端功能,直接切换到本地Expo项目开发:本地初始化Expo项目后安装对应依赖,如果包包含未适配Expo的原生代码,执行npx expo prebuild生成安卓、iOS原生工程目录后再编译调试即可。Snack定位是轻量代码片段演示环境,本身就不支持全量npm原生包,没必要在这个场景下硬耗。
  • 非紧急场景可以向Expo Snack平台提交该包的同步申请,等平台将包同步到自有依赖源后即可正常通过npm声明引入,该方案等待周期不确定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.21 16:16:02