我无法在 Raspberry pi 4 上运行小型 Next JS 14 应用程序(目前最新版本是 14.0.4)。
访问了 https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/,事实上,没有任何 Next JS 14 发布的二进制文件,Vercel 发布的最后一个二进制文件是针对 Next JS 13 的,几个月前,对于这个平台。我发现 Vercel 已经发布了适用于 Win/Linux 平台的 v14.x @next/swc 二进制文件,但不是 Linux-ARMV7。
这是否意味着 RP 无法使用 Next JS 14? (接下来的 JS 13 工作正常) 有什么替代方案或解决方法吗?在那里找不到太多信息。
尝试了以下方法:
npx create-next-app@latest
cd myApp
npm i
npm run dev
出现以下错误:
Downloading swc package @next/swc-linux-arm-gnueabihf...
⨯ Failed to download swc package from https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-14.0.4.tgz
我还尝试使用 Babel 和简单的 .babelrc:
{
"presets": ["next/babel"],
"plugins": []
}
但这也会输出一堆错误:
Using external babel configuration from <myAppDir>/.babelrc
⨯ ./node_modules/next/dist/client/dev/on-demand-entries-client.js
(...)
⨯ Error: ENOENT: no such file or directory, open '<myAppDir>/.next/fallback-build-manifest.json'
由于进一步修改 RPi4,SD 卡损坏,必须重新安装所有内容(操作系统、Node、Next JS...)。
我继续尝试了最新的软件软件包版本,几乎适用于 RPi 重新安装过程的每一步,包括 Next JS 14.0.4。
不知道会有什么不同,但令我惊讶的是,它现在似乎运行得很好!该应用程序构建和渲染没有问题。不需要SWC。
我想知道在重新安装过程之前是否存在残留的 SWC 依赖项,迫使 Next JS 不惜一切代价尝试获取该特定版本的 SWC。
无论如何,问题已经解决了。