【问题标题】:Next failed to load SWC binaryNext 加载 SWC 二进制文件失败
【发布时间】:2021-12-17 08:16:52
【问题描述】:

尝试使用 nextjs 运行命令时,npm run dev 显示错误 - 无法加载 SWC 二进制文件,请在此处查看更多信息:https://nextjs.org/docs/messages/failed-loading-swc。

我已尝试在 vercel 页面上卸载节点并再次使用 16.13 版重新安装它,但没有成功,但到目前为止还没有成功。有什么建议吗?

另外,我注意到这是 NextJS 讨论 page 上的一个当前问题,它与比 Babel 更快的新 Rust-base compiler 有关。

【问题讨论】:

    标签: next.js babeljs


    【解决方案1】:

    这在 nextJS 文档中作为 suggeted 工作,但它带走了 Rust 编译器及其所有好处......这是我为那些最终陷入困境的人所做的......

    步骤 1. 添加此行或编辑 next.json.js

    {
    swcMinify: false // it should be false by default 
    }
    

    步骤 2. 将“.babelrc”文件添加到项目根目录

    第 3 步,将这个 sn-p 添加到新文件“.babelrc”中

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

    第 4 步,您需要运行此命令,因为第 1-3 步将删除 SWC failed to load 错误,但在运行 build 命令时您会注意到另一个错误。所以也运行这个

    npm install next@canary
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      我在 Windows 11 上遇到了同样的问题。我将 NodeJS 升级到了 17.0.1。之后,现在一切正常。

      【讨论】:

        【解决方案3】:

        我是 next.js 的初学者,我遇到了同样的错误。搜索后,我得到了添加 .babelrc 的解决方案。但是使用它无法获得SWC的功能。

        今天我得到了一个真正的解决方案,使用这个示例项目命令。当我们创建新项目时,swc 将正常工作,并且不会出现错误。

        command- npx create-next-app 'your_project_name' --use-npm --example "https://github.com/vercel/next-learn/tree/master/basics/learn-starter"
        

        如果您遇到任何其他问题,请告诉我。

        【讨论】:

          【解决方案4】:

          在根目录中创建 .babelrc。并添加以下代码。 { "presets": ["next/babel"], "plugins": [["styled-components", { "ssr": true }]] }

          【讨论】:

            【解决方案5】:

            我遇到了同样的问题,只是使用 mac/window 终端而不是 VScode 集成终端

            【讨论】:

              【解决方案6】:

              只需运行“npm i”或“yarn”,然后重新启动服务器。

              【讨论】:

              • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
              【解决方案7】:

              出现这个错误是因为 next js 使用基于 Rust 的编译器来编译 JavaScript,它比 babel 快得多,但这与所有系统架构不兼容,要解决这个问题,你必须禁用这个编译器并使用本机 babel编译器。这是通过在你的根目录中创建一个 .babelrc 文件并将下面的代码添加到文件中来完成的;

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

              您可以查看此链接了解更多详情:SWC Failed to Load - NEXTJS DOCS

              【讨论】:

                【解决方案8】:

                如果您使用 Docker,只需将 RUN npm install -D @swc/cli @swc/core 添加到 Dockerfile。

                【讨论】:

                  【解决方案9】:

                  删除项目中的package-lock.json文件和node_modules目录,然后在终端上运行npm install。

                  【讨论】:

                    猜你喜欢
                    • 2021-07-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-01-13
                    • 2019-07-19
                    • 2022-11-10
                    • 2017-03-28
                    相关资源
                    最近更新 更多