[英]Your project is in SDK version >= 33.0.0, but the expo package version seems to be older
我无法启动我的 Expo 应用程序。 我收到此错误:
Your project is in SDK version >= 33.0.0, but the expo package version seems to be older.
(0 , _config(...).fileExistsAsync) is not a function
它在星期一工作正常。 我的 expo cli 和 sdk 版本是 36.0.0,所以是最新的。 有没有人也有这个问题并且知道可能的解决方法?
我正在使用 Android Studio 模拟器。
刚刚运行了 expo upgrade,它告诉我我已经在使用最新版本,但我还是运行了它,结果是这样的:
ConfigUtils(...).resolveModule is not a function
有两种可能性:您的 expo-cli 包的全局安装已过时,或者您在项目本身中的 expo 包已过时。
要解决这个问题,请在项目目录中运行npm ls
并搜索 expo 版本。 如果您使用的是基于 unix 的系统或以其他方式安装了 grep,则可以使用npm ls | grep expo
快速完成此操作。 npm ls | grep expo
。
如果其中任何一个显示 expo 包版本低于 33.0.0,那么您需要使用expo update 35.0.0.
另一方面,如果项目中的 expo 版本高于 33.0.0,则全局版本需要更新,可以使用npm install -g expo-cli
修复
https://docs.expo.io/versions/latest/workflow/upgrading-expo-sdk-walkthrough/
问题在于SDK和Expo 客户端版本不匹配。 尝试在终端中使用sudo执行此操作并输入密码:
sudo expo update <version>
sudo expo start
请将<version更改为发生错误的最新版本或最低版本。 我的是 37.0.0
乐于助人。RTTSS 提供。
运行这个:
npm install -g expo-cli
好吧,我自己修好了。 即使我有最新的 cli,我也不得不再次升级它,然后我不得不将位于 node-modules/metro-config/src/defaults/blacklist.js 中的 blacklist.js 文件更改为:
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.