我正在使用 Expo SDK v41 并在启动 Expo web 时遇到错误:
编译失败。/var/www/myapp/node_modules/react-native/Libraries/StyleSheet/processColor.js 未找到模块:无法解析 '/var/www/myapp/node_modules/react-native 中的 '../Utilities/Platform' /库/样式表'
该文件夹/var/www/myapp/node_modules/react-native/Libraries/Utilities
确实存在:
$> /var/www/myapp/node_modules/react-native/Libraries/Utilities$ ls -la | grep -i 'platform'
-rw-rw-r-- 1 myuser myuser 875 Oct 26 1985 NativePlatformConstantsAndroid.js
-rw-rw-r-- 1 myuser myuser 802 Oct 26 1985 NativePlatformConstantsIOS.js
-rw-rw-r-- 1 myuser myuser 1404 Oct 26 1985 Platform.android.js
-rw-rw-r-- 1 myuser myuser 1508 Oct 26 1985 Platform.ios.js
我尝试了很多没有运气的事情:
- 删除 packages-lock.json 并重新安装
- 将软件包更新到最新版本
- 确保使用的软件包与 Expo SDK v41 兼容
- 将 expo-cli 更新到最新版本
- 运行此脚本以添加缺少的 Platform.js 文件
看起来有些人在使用这个问题,@react-native-community/viewpager
但我没有使用这个包,它也不在我的依赖项中。
世博诊断
Expo CLI 4.7.2 environment info:
System:
OS: Linux 5.4 Ubuntu 20.04.2 LTS (Focal Fossa)
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 12.16.2 - /usr/local/bin/node
Yarn: 1.22.5 - /usr/bin/yarn
npm: 7.19.0 - /usr/local/bin/npm
npmPackages:
expo: ^41.0.1 => 41.0.1
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: 0.63.2 => 0.63.2
react-native-web: ~0.13.12 => 0.13.18
npmGlobalPackages:
expo-cli: 4.7.2
Expo Workflow: managed