Next.js 14构建报错:部署服务器提示‘next: not found’
Next.js部署构建报错:
next: not found(退出码127) 问题概述
本地构建完全成功,但部署服务器执行npm run build时提示next: not found,构建失败返回退出码127。
本地构建日志(成功)
$ next build ▲ Next.js 14.1.0 Creating an optimized production build ... ✓ Compiled successfully ✓ Linting and checking validity of types ✓ Collecting page data ✓ Generating static pages (5/5) ✓ Collecting build traces ✓ Finalizing page optimization Route (app) Size First Load JS ┌ ○ / 76.3 kB 160 kB └ ○ /_not-found 882 B 85.1 kB + First Load JS shared by all 84.2 kB ├ chunks/69-28f79be715c06873.js 28.9 kB ├ chunks/fd9d1056-f6b668df0b3d2561.js 53.4 kB └ other shared chunks (total) 1.96 kB ○ (Static) prerendered as static content
部署服务器报错
Run (npm run build) shell: /usr/bin/bash -e ***0*** > personal-portfolio@0.1.0 build > next build sh: 1: next: not found Error: Process completed with exit code 127.
已尝试的解决方法
- 删除
node_modules、清理npm缓存后重新安装:npm i - 删除Next依赖后重新安装:
npm i next - 安装
cross-env:npm i cross-env - 修改dev脚本为:
"dev": "cross-env NODE_OPTIONS='--inspect' next dev"
项目package.json内容
{ "name": "personal-portfolio", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" }, "dependencies": { "@tabler/icons-react": "^2.47.0", "@tsparticles/engine": "^3.2.1", "@tsparticles/react": "^3.0.0", "@tsparticles/slim": "^3.2.1", "classnames": "^2.5.1", "clsx": "^2.1.0", "cross-env": "^7.0.3", "framer-motion": "^11.0.5", "next": "^14.1.0", "react": "^18", "react-dom": "^18", "react-element-to-jsx-string": "^15.0.0", "react-hot-toast": "^2.4.1", "react-icons": "^5.0.1", "react-player": "^2.14.1", "sonner": "^1.4.0", "tailwind-merge": "^2.2.1", "tsparticles-engine": "^2.12.0" }, "devDependencies": { "@types/node": "20.11.18", "@types/react": "18.2.55", "autoprefixer": "^10.0.1", "eslint": "^8", "eslint-config-next": "14.1.0", "postcss": "^8", "tailwindcss": "^3.4.1", "typescript": "^5.3.3" } }
解决思路
1. 确保部署环境正确安装依赖
- 检查部署服务器是否在执行
npm run build前完成了npm install,且无安装失败日志。若依赖缓存异常,强制重新安装:rm -rf node_modules package-lock.json && npm install - 对比本地与服务器的Node.js版本(执行
node -v),版本不兼容可能导致依赖安装异常。
2. 直接指定本地next命令路径
部分环境可能存在PATH问题,修改package.json的build脚本,直接指向本地依赖中的next命令:
"build": "./node_modules/.bin/next build"
3. 检查部署平台配置
- 若使用Vercel、Netlify等平台,确认未跳过依赖安装步骤,且构建命令配置正确。
- 自定义服务器需确认是否在项目根目录执行构建,或存在环境变量限制。
4. 切换包管理器尝试
若npm安装存在问题,换用yarn或pnpm:
# 使用yarn rm -rf node_modules package-lock.json && yarn install && yarn build # 使用pnpm rm -rf node_modules package-lock.json && pnpm install && pnpm build
内容的提问来源于stack exchange,提问作者Manu Bhardwaj
相关产品推荐
相关产品推荐

