next.js 部署到vercel的问题

5gfr0r5j  于 2023-06-05  发布在  其他
关注(0)|答案(1)|浏览(261)

我用next.js和vercel创建了一个应用程序。我正在尝试部署它,它不工作....附加图像,以便您可以看到错误。

npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for @next/swc-darwin-x64@13.4.2: wanted {"os":"darwin","arch":"x64"} (current: {"os":"linux","arch":"x64"})
npm ERR! notsup Valid OS:    darwin
npm ERR! notsup Valid Arch:  x64
npm ERR! notsup Actual OS:   linux
npm ERR! notsup Actual Arch: x64
npm ERR! A complete log of this run can be found in:
npm ERR!     /vercel/.npm/_logs/2023-05-30T18_43_56_771Z-debug-0.log
Error: Command "npm install" exited with 1
BUILD_UTILS_SPAWN_1: Command "npm install" exited with 1

我已经删除了package.lock.json和node.modules,我又做了npm安装,它仍然不工作。

gmxoilav

gmxoilav1#

从错误消息来看,问题似乎是由于@next/swc-darwin-x64包只适用于达尔文(macOS)平台,但您试图在Linux平台上运行它(Vercel部署基于Linux)。

  • 首先,您需要从package.json文件中删除@next/swc-darwin-x64包。此软件包是特定于平台的,在Linux环境中会导致问题。
  • 然后,安装@next/swc-linux-x64包。此软件包应适用于基于Vercel Linux的部署。

您可以通过运行以下命令来执行此操作:

npm uninstall @next/swc-darwin-x64
npm install @next/swc-linux-x64
  • 完成此操作后,尝试推送更改并重新部署应用。

如果你对@next/swc-*没有直接的依赖关系,你可能需要查看你的Next.js版本或其他可能带来@next/swc-darwin-x64作为传递依赖关系的软件包。
请参阅以下Vercel问题:https://github.com/vercel/next.js/issues/37651

相关问题