首次部署项目至Netlify遇构建超时失败问题求助
Netlify部署超时问题:构建耗时过长失败
首次部署项目到Netlify时遇到超时问题,之前的错误都有明确提示已逐一解决,但这次网站体量不大却出现构建超时失败,完全找不到问题根源。
构建日志
12:13:18 AM: Netlify Build 12:13:18 AM: ──────────────────────────────────────────────────────────────── 12:13:18 AM: 12:13:18 AM: ❯ Version 12:13:18 AM: @netlify/build 29.20.12 12:13:18 AM: 12:13:18 AM: ❯ Flags 12:13:18 AM: baseRelDir: true 12:13:18 AM: buildId: 64febdf8ece3553c9ec203d1 12:13:18 AM: deployId: 64febdf8ece3553c9ec203d3 12:13:18 AM: 12:13:18 AM: ❯ Current directory 12:13:18 AM: /opt/build/repo 12:13:18 AM: 12:13:18 AM: ❯ Config file 12:13:18 AM: /opt/build/repo/netlify.toml 12:13:18 AM: 12:13:18 AM: ❯ Context 12:13:18 AM: production 12:13:18 AM: 12:13:18 AM: build.command from netlify.toml 12:13:18 AM: ──────────────────────────────────────────────────────────────── 12:13:18 AM: 12:13:18 AM: $ npm run dev 12:13:18 AM: > 17@0.0.0 dev 12:13:18 AM: > concurrently --kill-others npm run start npm run scss 12:13:18 AM: [0] 12:13:18 AM: [0] > 17@0.0.0 start 12:13:18 AM: [0] > nodemon ./bin/www 12:13:18 AM: [0] 12:13:18 AM: [1] 12:13:18 AM: [1] > 17@0.0.0 scss 12:13:18 AM: [1] > sass --watch src/scss/main.scss public/stylesheets/style.css 12:13:18 AM: [1] 12:13:18 AM: [0] [nodemon] 3.0.1 12:13:18 AM: [0] [nodemon] to restart at any time, enter `rs` 12:13:18 AM: [0] [nodemon] watching path(s): *.* 12:13:18 AM: [0] [nodemon] watching extensions: js,mjs,cjs,json 12:13:18 AM: [0] [nodemon] starting `node ./bin/www` 12:13:18 AM: [1] Sass is watching for changes. Press Ctrl-C to stop. 12:13:18 AM: [1] 12:31:25 AM: Execution timed out after 18m10.001708592s 12:31:25 AM: Error running command: Command did not finish within the time limit 12:31:25 AM: Failing build: Failed to build site 12:31:26 AM: Finished processing build request in 18m28.601s
项目文件夹结构
├── bin ├── models ├── node_models ├── public ├── routes ├── src/scss ├── views ├── app.js ├── netlify.toml ├── package.json ├── package-lock.json ├── .gitignore ├── README.md
构建设置

package.json运行脚本
"scripts": { "start": "nodemon ./bin/www", "scss": "sass --watch src/scss/main.scss public/stylesheets/style.css", "dev": "concurrently --kill-others \"npm run start\" \"npm run scss\"" },
问题根源与解决办法
你当前使用的dev脚本是开发环境专用命令,它启动了两个持续运行的进程:nodemon(监听文件变化自动重启服务)和带--watch参数的Sass(监听SCSS文件变化自动编译)。而Netlify的构建流程要求构建命令必须是一次性完成的任务,执行完毕后自动退出,才会推进后续部署步骤,这就是导致超时的核心原因。
具体修复步骤:
更新package.json的脚本配置
添加生产环境专用的编译和启动命令,替换开发环境的持续监听逻辑:"scripts": { "start": "nodemon ./bin/www", "scss": "sass --watch src/scss/main.scss public/stylesheets/style.css", "dev": "concurrently --kill-others \"npm run start\" \"npm run scss\"", "build:scss": "sass src/scss/main.scss public/stylesheets/style.css", "prod:start": "node ./bin/www" }build:scss:一次性编译SCSS到CSS,无监听逻辑prod:start:直接用node启动服务,去掉开发用的nodemon
修改Netlify构建命令
在Netlify后台构建设置或netlify.toml中,将构建命令从npm run dev改为npm run build:scss,同时指定发布目录为public:
若用netlify.toml配置,添加如下内容:[build] command = "npm run build:scss" publish = "public"额外注意事项
- 生产环境不需要nodemon这类开发工具,直接用
node启动服务即可 - Sass的
--watch模式仅用于本地开发,生产构建只需一次性编译 - 若你的项目是Express服务,Netlify会自动识别并处理服务启动逻辑,无需额外配置
- 生产环境不需要nodemon这类开发工具,直接用
内容的提问来源于stack exchange,提问作者Dagger
相关产品推荐
相关产品推荐

