Plesk部署Next.js:无法找到defaultCommand配置项的问题求助
解决Next.js 14.x在Plesk部署的默认命令问题
你当前使用的是Next.js 14.2.1,这个版本的CLI结构和教程里的旧版本不同,原来的const defaultCommand = "dev"配置已经被Commander.js的isDefault参数替代,不需要修改node_modules里的文件,试试以下几个无需SSH权限的解决方案:
方案1:修改package.json启动脚本
直接在项目根目录的package.json中更新scripts字段,确保包含明确的生产启动命令:
{ "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" } }
之后在Plesk的Node.js配置面板中,将启动脚本设置为package.json,或者直接指定npm run start作为启动命令。
方案2:在Plesk中直接指定启动命令
如果Plesk支持自定义启动命令,跳过默认的next调用,直接设置启动命令为:
next start
这样可以强制启动生产环境服务,无需修改任何项目文件。
方案3:创建自定义启动脚本
在项目根目录新建一个start-prod.js文件,内容如下:
#!/usr/bin/env node require('./node_modules/next/dist/cli/next-start.js').nextStart({}, '.')
然后在Plesk的Node.js设置中,将启动文件指定为这个start-prod.js,即可直接启动生产环境服务。
注意事项
- 绝对不要修改
node_modules内的文件,版本更新会直接覆盖修改内容,且无SSH权限操作也受限 - 以上方案均无需修改依赖包源码,是官方推荐的生产环境启动方式
内容的提问来源于stack exchange,提问作者NAXT_ _
相关产品推荐
相关产品推荐

