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

Expo SDK51升级回滚后Storybook依赖解析失败求助

Expo SDK升级与Storybook依赖解析问题排查与解决

问题背景

我有一个集成Storybook的Expo React Native项目,原本基于expo@~48.0.21正常运行。尝试升级到Expo SDK51后,项目构建失败,出现错误:

Unable to resolve "storybook/internal/preview-api" from "node_modules\@storybook\preview-api\shim.mjs"

即使回滚到之前可用的旧版package.json,删除node_modules、package-lock.json后重新安装依赖,错误依然存在。但其他开发者使用完全相同的旧配置可以正常运行。我尝试过更新Storybook相关依赖版本,但问题未解决。

问题原因分析

  1. Storybook版本不兼容:@storybook/preview-api 8.x版本内部模块结构发生变化,而@storybook/react-native 7.x依赖的是旧的内部模块路径,混合使用7.x和8.x版本会导致依赖解析失败。升级SDK51时可能无意中拉取了高版本的@storybook/preview-api,回滚后缓存残留导致问题持续。
  2. 缓存残留:metro缓存、npm/yarn缓存或Expo本地缓存未彻底清理,新旧依赖的缓存文件混合,导致解析逻辑混乱。
  3. 全局/本地expo-cli冲突:升级SDK51后,全局安装的expo-cli版本可能与项目本地SDK版本不匹配,干扰了依赖安装和项目启动流程。

解决方案

1. 彻底清理所有缓存与依赖文件

执行以下操作,确保完全清除残留的依赖和缓存:

  • 删除项目根目录下的node_modules文件夹
  • 删除package-lock.json(npm)或yarn.lock(yarn)文件
  • 删除.expo文件夹(Expo本地缓存)
  • 清理npm缓存:
    npm cache clean --force
    
    若使用yarn:
    yarn cache clean
    
  • 启动项目时强制清理metro缓存:
    npx expo start --clear
    

2. 统一Storybook依赖版本

确保所有Storybook相关依赖版本一致,避免混合不同大版本。针对Expo 48(对应React Native 0.71),建议使用Storybook 7.x全系列:
修改package.json中的Storybook依赖为:

"@storybook/addon-ondevice-actions": "^7.6.20",
"@storybook/addon-ondevice-controls": "^7.6.20",
"@storybook/preview-api": "^7.6.20",
"@storybook/react-native": "^7.6.20"

删除@storybook/react(Expo RN项目不需要web端的Storybook依赖)。

3. 避免全局expo-cli干扰

  • 始终使用项目本地的Expo命令,即通过npx expo ...执行操作,不要直接使用全局安装的expo命令
  • 如果需要全局安装expo-cli,确保其版本与项目SDK版本匹配:Expo 48对应expo-cli 6.x,SDK51对应expo-cli 7.x

4. 重新安装依赖

执行依赖安装命令,确保依赖完全按照package.json声明的版本安装:

npm install

或

yarn install

5. 若需升级到Expo SDK51的适配方案

如果最终要升级到SDK51(对应React Native 0.74),需要升级Storybook到支持RN 0.74的版本,将所有Storybook依赖统一升级到8.2.x及以上:

"@storybook/addon-ondevice-actions": "^8.2.6",
"@storybook/addon-ondevice-controls": "^8.2.6",
"@storybook/preview-api": "^8.2.6",
"@storybook/react-native": "^8.2.6"

同时按照Expo官方文档完成SDK51的升级步骤,确保所有Expo相关依赖同步升级到对应版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:05:57