未能加载SWC二进制文件



当尝试使用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-developmentnew-projectexplore> 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-developmentnew-projectexplorenode_modules@nextswc-win32-x64-msvcnext-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-developmentnew-projectexplorenode_modulesnextdistbuildswcindex.js:84:28)
at loadBindings (D:web-developmentnew-projectexplorenode_modulesnextdistbuildswcindex.js:41:32)
at async Object.isWasm (D:web-developmentnew-projectexplorenode_modulesnextdistbuildswcindex.js:146:20)
at async D:web-developmentnew-projectexplorenode_modulesnextdistbuildwebpackloadersnext-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-developmentnew-projectexplore>

解决此问题的最佳方法

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

只运行

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

他们安装包

npm install

最后运行

npm run dev

我解决它的方法。

在一开始,我遵循的文档链接是错误的。

error-未能加载SWC二进制文件,请参阅此处的更多信息:https://nextjs.org/docs/messages/failed-loading-swc

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

然后转到此链接https://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

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

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

然后";npm run dev";将是好的(但它将使用巴别塔而不是SWC(。

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

当我从旧的repo中克隆项目时,我在windows11中也遇到了同样的问题。首先,我尝试删除yarn.lock和nodemodule,然后再次安装依赖项,但不起作用。

几分钟后,我明白了,因为我有权限问题。我以chocolately作为管理员安装git,所以,我从choco 中删除了git

choco uninstall git

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

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

最新更新