【Nextjs】macos 系统运行报错:Error: Cannot find module '../lightningcss.darwin-x64.node'

先说结论:我是用nvm管理的node版本,那么我在切换node的时候,下载新的直接执行的是 nvm install xx ;这样直接下载的是 x86 的 node

解决方案:

1、先运行这个脚本,看看哪个用的是 x86

bash 复制代码
nvm ls                                                                                                     
for d in ~/.nvm/versions/node/*/bin/node; do
  v=$(basename "$(dirname "$(dirname "$d")")")
  printf '%-12s -> ' "$v"; file "$d" | sed 's/.*: //'
done

2、卸载到对应的 x86 版本重新安装;只要保证arch 是 arm64,那么你运行nvm install xx他会自己下载 arm 版本的。

报错信息如下:

bash 复制代码
/opt/homebrew/bin/bun run dev
$ next dev
▲ Next.js 16.2.12 (Turbopack)
- Local:         http://localhost:3000
- Network:       http://172.16.30.112:3000
✓ Ready in 453ms
  Using cached swc package @next/swc-darwin-x64...

⨯ ./app/globals.css
Error evaluating Node.js code
Error: Cannot find module '../lightningcss.darwin-x64.node'
Require stack:
- /Users/wangxucheng/Desktop/learn/next/next-app/node_modules/lightningcss/node/index.js
- /Users/wangxucheng/Desktop/learn/next/next-app/node_modules/@tailwindcss/node/dist/index.js
- /Users/wangxucheng/Desktop/learn/next/next-app/node_modules/@tailwindcss/postcss/dist/index.js
- /Users/wangxucheng/Desktop/learn/next/next-app/.next/dev/build/chunks/[root-of-the-server]__0oj80bi._.js
- /Users/wangxucheng/Desktop/learn/next/next-app/.next/dev/build/chunks/[turbopack]_runtime.js
- /Users/wangxucheng/Desktop/learn/next/next-app/.next/dev/build/56416d4ae4ce586f.js
    [at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15)]
    [at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)]
    [at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)]
    [at Function._load (node:internal/modules/cjs/loader:1192:37)]
    [at TracingChannel.traceSync (node:diagnostics_channel:322:14)]
    [at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)]
    [at Module.require (node:internal/modules/cjs/loader:1463:12)]
    [at require (node:internal/modules/helpers:147:16)]
    [at Object.<anonymous> (/Users/wangxucheng/Desktop/learn/next/next-app/node_modules/lightningcss/node/index.js:20:12)]
    [at Module._compile (node:internal/modules/cjs/loader:1706:14)]

Import trace:
  Client Component Browser:
    ./app/globals.css [Client Component Browser]
    ./app/layout.tsx [Server Component]

运行下面这个命令,看看你的 node 是不是基于x86 的;

bash 复制代码
arch                              # 应该是 arm64;若是 i386,说明终端跑在 Rosetta 下
node -e 'console.log(process.arch)'   # 应该是 arm64;若是 x64,就是它引起的报错!
相关推荐
hoLzwEge1 小时前
Unplugin Turbo Console:让你的 `console.log` 脱胎换骨
前端·前端框架
dota李天王1 小时前
简单的 socket 实现
前端·javascript·websocket
盏灯1 小时前
nvm 无法拉取最新办法解决办法
前端
GitLqr1 小时前
别被“Flutter 传感器延迟 150ms”带偏了:这可能只是你的实现方式错了
flutter·架构·kotlin
WeilinerL2 小时前
CodeGraph:让AI理解代码仓库的神器
前端·人工智能
SamDeepThinking2 小时前
微信支付对接实战:从下单到回调的完整落地过程
后端·程序员·架构
小四的小六2 小时前
WebView到AI产品,最值得掌握的3个核心能力——从自己产品里总结的能力地图
前端·ai编程·webview
前端逗比逗2 小时前
Electron 全维度完整配置手册(最新稳定版,适配 Electron 25+)
前端·electron