首页 > 解决方案 > Zeit 构建失败 - 错误:找不到名为“build”的输出目录

问题描述

截至 2020 年 1 月 5 日,我所有的构建都失败了,这些构建都部署在 Now 上。我收到不再支持节点 8.x 的警告,因此我在 package.json 中指定了 12.x 的引擎版本,这成功阻止了在部署期间弹出的警告,但我仍然收到以下错误

Error: No output directory named "build" found.

我想可能是我最近推动的一项更改导致了这种情况,但返回并重新部署成功构建的旧部署现在收到此错误。我想知道 Now 平台上的某些东西是否发生了我不知道的变化,因为我最近推送的代码似乎并不是这个错误的催化剂。这也很奇怪,因为在此错误之前,部署日志显示以下内容

Creating an optimized production build...
Compiled successfully.
File sizes after gzip:
207.04 KB build/static/js/2.7d84160a.chunk.js
11.64 KB build/static/js/main.65999b58.chunk.js
1.24 KB build/static/css/main.cacda93c.chunk.css
762 B build/static/js/runtime~main.a8a9905a.js
The project was built assuming it is hosted at the server root.
You can control this with the homepage field in your package.json.
For example, add this to build it for GitHub Pages:
"homepage" : "http://myname.github.io/myapp",
The build folder is ready to be deployed.

所以看起来构建文件夹已创建但现在由于某种原因现在找不到它。我的 now.json 看起来像这样

{
"version": 2,
"name": "appname",
"public": false,
"builds": [
  { "src": "package.json", "use": "@now/static-build" },
  { "src": "index.js", "use": "@now/node-server" }
]
}

知道为什么我的部署会在最后一天突然开始失败吗?

标签: node.jsreactjsvercel

解决方案


我在stackoverflow上发布后立即找到解决方案的经典案例......

不确定第一次启动时我遵循了哪个教程,但是在我的 package.json 中,我将 now-build 脚本设置为

react-scripts build && mv build dist

我删除了最后一点,所以现在我现在构建的脚本很简单

react-scripts build

一切都好起来了。

我真的不能告诉你我为什么要设置这个,我只是盲目地按照教程。在过去的 4 个月里,这一直有效,不知道为什么昨天它开始抛出错误,哦,好吧。


推荐阅读