錯誤訊息
Error: Cannot find module '../lightningcss.linux-x64-gnu.node'
Require stack:
- /home/expo/workingdir/build/node_modules/lightningcss/node/index.js
- /home/expo/workingdir/build/node_modules/react-native-css-interop/dist/css-to-rn/index.js
- /home/expo/workingdir/build/node_modules/react-native-css-interop/dist/metro/index.js
- /home/expo/workingdir/build/node_modules/nativewind/dist/metro/index.js
- /home/expo/workingdir/build/metro.config.js
- /home/expo/workingdir/build/node_modules/cosmiconfig/node_modules/import-fresh/index.js
- /home/expo/workingdir/build/node_modules/cosmiconfig/dist/loaders.js
- /home/expo/workingdir/build/node_modules/cosmiconfig/dist/createExplorer.js
- /home/expo/workingdir/build/node_modules/cosmiconfig/dist/index.js
- /home/expo/workingdir/build/node_modules/metro-config/src/loadConfig.js
- /home/expo/workingdir/build/node_modules/metro-config/src/index.js
- /home/expo/workingdir/build/node_modules/@expo/cli/build/src/start/server/metro/instantiateMetro.js
- /home/expo/workingdir/build/node_modules/@expo/cli/build/src/start/server/metro/MetroBundlerDevServer.js
- /home/expo/workingdir/build/node_modules/@expo/cli/build/src/export/embed/exportEmbedAsync.js
- /home/expo/workingdir/build/node_modules/@expo/cli/build/src/export/embed/index.js
- /home/expo/workingdir/build/node_modules/@expo/cli/build/bin/cli
- /home/expo/workingdir/build/node_modules/expo/bin/cli
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1212:15)
at Function.Module._load (node:internal/modules/cjs/loader:1043:27)
at Module.require (node:internal/modules/cjs/loader:1298:19)
at require (node:internal/modules/helpers:182:18)
at Object.<anonymous> (/home/expo/workingdir/build/node_modules/lightningcss/node/index.js:21:22)
at Module._compile (node:internal/modules/cjs/loader:1529:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1613:10)
at Module.load (node:internal/modules/cjs/loader:1275:32)
at Function.Module._load (node:internal/modules/cjs/loader:1096:12)
at Module.require (node:internal/modules/cjs/loader:1298:19)
解決方法
首先使用 npm list lightningcss
檢查 lightningcss 版本是否一致:
% npm list lightningcss
├─┬ expo@53.0.22
│ └─┬ @expo/metro-config@0.20.17
│ └── lightningcss@1.27.0
└─┬ nativewind@4.2.0
└─┬ react-native-css-interop@0.2.0
└── lightningcss@1.27.0 deduped
使用 npm dedupe
刪除專案中的重複依賴項來優化。
再執行 npm rebuild lightningcss
重新編譯和重建套件即可。