我无法弄清楚这里发生了什么,尝试在 Expo 客户端应用程序中打开我的项目时出现以下错误:
Error: Unable to resolve module `./node_modules\expo\AppEntry` from ``:
None of these files exist:
* node_modules\expo\AppEntry(.native|.android.expo.ts|.native.expo.ts|.expo.ts|.android.expo.tsx|.native.expo.tsx|.expo.tsx|.android.expo.js|.native.expo.js|.expo.js|.android.expo.jsx|.native.expo.jsx|.expo.jsx|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.wasm|.native.wasm|.wasm)
* node_modules\expo\AppEntry\index(.native|.android.expo.ts|.native.expo.ts|.expo.ts|.android.expo.tsx|.native.expo.tsx|.expo.tsx|.android.expo.js|.native.expo.js|.expo.js|.android.expo.jsx|.native.expo.jsx|.expo.jsx|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.wasm|.native.wasm|.wasm)
存在。node_modules\expo\AppEntry.js
我有其他 expo 项目在 SDK 39、38 上运行良好。我尝试降级 expo-cli 并将 SDK 升级到 39 但没有成功,唯一的解决方案是初始化另一个项目并将我的所有代码移至该项目,同时降级为了兼容代码,将SDK改成36,有一段时间工程正常,重启PC,重新运行工程,又报错了
Environment
Expo CLI 3.28.5 environment info:
System:
OS: Windows 10 10.0.18362
Binaries:
Node: 12.18.3 - C:\Program Files\nodejs\node.EXE
Yarn: 1.19.1 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.6 - C:\Program Files\nodejs\npm.CMD
Watchman: 20200424.164118.0 - D:\Instaladores\watchman\windows\bin\watchman.EXE
SDKs:
Android SDK:
API Levels: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 7, 8, 9
Build Tools: 24.0.3, 25.0.3, 26.0.0, 26.0.2, 27.0.1, 27.0.2, 27.0.3, 28.0.3
System Images: android-25 | Google APIs Intel x86 Atom
Android NDK: 16.1.4479499
npmPackages:
expo: ^36.0.0 => 36.0.2
react: ^16.12.0 => 16.12.0
react-dom: 16.9.0 => 16.9.0
react-native: https://github.com/expo/react-native/archive/sdk-36.0.1.tar.gz => 0.61.4
react-native-web: ^0.11.7 => 0.11.7
react-navigation: 4.1.1 => 4.1.1
Expo Workflow: managed
info "@capacitor/[email protected]" has binaries:
- capacitor
- cap
info "@ionic/[email protected]" has binaries:
- ionic
info "@ionic/[email protected]" has binaries:
- ionic-lab
info "[email protected]" has binaries:
- capacitor-resources
info "[email protected]" has binaries:
- cordova
info "[email protected]" has binaries:
- electron
info "[email protected]" has binaries:
- eslint
info "[email protected]" has binaries:
- expo
info "[email protected]" has binaries:
- firebase
info "[email protected]" has binaries:
- generact
info "[email protected]" has binaries:
- ionic
info "[email protected]" has binaries:
- jest
info "[email protected]" has binaries:
- mocha
- _mocha
info "[email protected]" has binaries:
- native-run
info "[email protected]" has binaries:
- nodemon
info "[email protected]" has binaries:
- pm2
- pm2-dev
- pm2-docker
- pm2-runtime
info "[email protected]" has binaries:
- serve
info "[email protected]" has binaries:
- ts-jest
我发布了一个问题:https://github.com/expo/expo/issues/11074
还发布了一个给我这个错误的存储库:https://github.com/Alain00/expo-test
问题是我在 watchman ignore_dirs 中包含了 node_modules ... watchman 用于抓取和监视 fs。如果这样做,您将无法解析任何 node_modules。