Site icon May's Notes

Cannot find module ‘../lightningcss.linux-x64-gnu.node’ 解決方法

expo logo

錯誤訊息

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 重新編譯和重建套件即可。

Exit mobile version