无法加载 SWC 二进制文件

Failed to load SWC binary

当尝试 运行 使用 Next.js 命令时 npm run dev 显示 error - failed to load SWC binary see more info here: https://nextjs.org/docs/messages/failed-loading-swc.

PS D:\web-development\new-project\explore> npm run dev

> dev     
> next dev

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
Error: The specified module could not be found.
\?\D:\web-development\new-project\explore\node_modules\@next\swc-win32-x64-msvc\next-swc.win32-x64-msvc.node
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1179:18)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at loadNative (D:\web-development\new-project\explore\node_modules\next\dist\build\swc\index.js:84:28)
    at loadBindings (D:\web-development\new-project\explore\node_modules\next\dist\build\swc\index.js:41:32)
    at async Object.isWasm (D:\web-development\new-project\explore\node_modules\next\dist\build\swc\index.js:146:20)
    at async D:\web-development\new-project\explore\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js:62:178 {
  code: 'ERR_DLOPEN_FAILED'
}
error - Failed to load SWC binary, see more info here: https://nextjs.org/docs/messages/failed-loading-swc
PS D:\web-development\new-project\explore>

我的解决方法。

一开始,我按照文档link给出的错误。

错误 - 无法加载 SWC 二进制文件,请在此处查看更多信息:https://nextjs.org/docs/messages/failed-loading-swc

转到此 link https://nextjs.org/docs/messages/failed-loading-swc 并阅读此文档。

然后去这个linkhttps://swc.rs/。下载 SWC 二进制预构建并添加 Transpile JavaScript 文件。

# Download prebuilt binaries
npm i -D @swc/cli @swc/core

# Transpile JavaScript file and emit to stdout
npx swc ./file.js

或者,转到 link https://nextjs.org/docs/messages/failed-loading-swc 并在 next.config.js 旁边创建 .babelrc 文件。 将文档中的代码插入到 .babelrc 文件中。

{
    "presets": ["next/babel"]
}

然后“npm 运行 dev”就可以了(但它将使用 Babel 而不是 SWC)。

如果从 git 克隆项目后发生错误,您可以尝试我的步骤

我在 windows 11 从我的旧存储库克隆项目时遇到了同样的问题。 首先我尝试删除 yarn.lock 和 node_modules,然后再次安装依赖项,但它不起作用。

几分钟后,我明白了,因为我有权限问题。我以管理员身份使用 chocolately 安装 git,因此,我从 choco

中删除了 git
choco uninstall git

我从 git scm 安装 git。您可以在这里下载 https://git-scm.com/downloads

在那之后我克隆了项目,运行 yarn 并且它的工作就像一个魅力。

解决这个问题的最佳方法

我通过 删除 node_modules 重新安装 软件包解决了这个问题。我认为这是最好的解决方案。

就运行

rm -rf node_modules      // Linux
rmdir /S node_modules   // Windows

然后他们安装包

npm install

终于运行

npm run dev