Next.js 15在Linux加载图片时崩溃/段错误问题求助
Next.js 15.2.3 在 Ubuntu 22 环境下的图片组件与生产模式异常问题
环境信息
- Linux Ubuntu 22
- Node.js 22.20.0
- pnpm 10.18.0
- Next.js 15.2.3
核心问题
开发服务器编译正常,但访问包含<next/image>组件的页面时,浏览器出现chunk加载错误,服务器无报错直接退出;生产模式下运行pnpm build && pnpm start会出现段错误。
可正常运行的场景
- 使用
sudo pnpm run dev启动开发服务 - 在
next.config.ts中设置images: { unoptimized: true } - Windows环境运行相同代码(无任何问题)
错误日志
浏览器错误
Unhandled Runtime Error Error: Failed to load chunk /_next/static/chunks/%5Bturbopack%5D_browser_dev_hmr-client_hmr-client_ts_61dcf9ba._.js
开发模式终端输出
pnpm run dev > frontend@1.1.0 dev /home/user/project > next dev --turbo ▲ Next.js 15.2.3 (Turbopack) - Local: http://localhost:3000 ✓ Starting... ✓ Ready in 1119ms ○ Compiling / ... ✓ Compiled / in 3.9s thinkpad@ThinkPad:~/project$
服务器无报错直接退出,用curl访问页面正常,仅浏览器加载时触发问题(推测与图片优化有关)。
生产模式终端输出
pnpm start > frontend@1.1.0 start /home/user/project > next start ▲ Next.js 15.5.4 - Local: http://localhost:3000 ✓ Starting... ⚠ "next start" does not work with "output: standalone" configuration. ✓ Ready in 658ms Segmentation fault (core dumped) ELIFECYCLE Command failed with exit code 139.
项目配置(next.config.ts)
import type { NextConfig } from "next"; const nextConfig: NextConfig = { output: 'standalone', experimental: { serverActions: { bodySizeLimit: '3mb', }, }, }; export default nextConfig;
补充说明
- 使用Turbopack(
next dev --turbo)启动,不使用Turbopack问题依旧 - Sharp已安装在
node_modules/.pnpm/sharp@0.34.4/node_modules/sharp/,权限均为当前用户所有,无root权限问题
已尝试的解决步骤
- 完全删除node_modules、.next、.turbo、pnpm-lock.yaml后重新安装
- 使用
chmod -R u+rwX node_modules和chown -R $USER:$USER修复文件权限 - 验证Sharp可在独立Node.js脚本中正常加载(可正常运行)
- 不使用Turbopack启动服务,问题依旧
疑问
推测是权限问题但无法定位具体缺失的权限;生产模式的段错误怀疑是Sharp的Linux原生二进制文件问题。有没有人遇到过类似问题?相同代码在Windows下完全正常,十分困扰。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

