将Gatsby JS站点部署到Netlify时出错-“错误运行命令:构建脚本返回了非零退出代码”

时间:2018-11-03 00:55:01

标签: reactjs gatsby netlify

当我尝试将gatsby.js网站部署到Netlify时,出现以下错误/失败消息:

7:27:09 AM: Error running command: Build script returned non-zero exit code: 1
7:27:09 AM: Failing build: Failed to build site
7:27:09 AM: failed during stage 'building site': Build script returned non-zero exit code: 1
7:27:09 AM: Finished processing build request in 1m9.884654373s

我看着the previous question about this issue,但似乎无法工作。

我在package.json上粘贴了JSONLine,得到了Valid JSON

我似乎无法找出问题所在。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

确保所有空目录都进入存储库。可能是由于您的存储库中缺少目录而缺少路径。

gatsby-config.js中的示例插件

{
  resolve: `gatsby-source-filesystem`,
  options: {
    path: `${__dirname}/src/img`,
    name: `images`,
  },
}

一个常见的错误是将src/img添加到本地文件系统,但是忘记将其提交到存储库中,直到获得图像为止。

答案 1 :(得分:1)

tldr;将.gitkeep文件添加到您的src/images文件夹(如果为空)。

我遇到了同样的问题。在本地构建可以正常工作,但是由于未知原因,部署到Netlify失败。

结果是,发生问题是因为我从src/images中删除了占位符Gatsby图像。

当我删除图像时,文件夹为空。 Git会忽略空文件夹,因此,下次我推送到远程存储库时,src/images文件夹已删除。

但是我的gatsby-config文件引用了src/images。当我在本地运行build时,该文件夹仍然存在,但是在Netlify尝试部署的远程版本中却没有。

无论如何,将.gitkeep文件添加到src/images目录可以解决此问题。 .gitkeep告诉Git保留目录(即使它是空的),这意味着Netlify并未尝试访问不存在的目录。

答案 2 :(得分:-1)

我已经运行npm run build,而且我很确定我所有的空目录都将进入存储库。

我最终还是解决了这个问题-因为我很早就开始安装该应用程序-就是要重新开始;

  1. Launching一个新的Gatsby.js应用程序
  2. 立即使用此未经编辑的应用程序在Github上建立一个远程仓库。
  3. 通过连接到Github git提供程序在Netlify上设置New site from Git
  4. git push origin mastergit push origin
  5. 它的部署没有此错误!
  6. 然后,每当我对应用程序进行增量更改时,我都会立即重新部署到github,然后它会自动将更改更新到我的Netlify网站。

在部署之前构建整个应用程序之前,不知道错误发生在何处!

这种渐进的,连续的部署实践使我能够立即了解导致部署错误的原因。

不幸的是,我实际上并未发现上述错误的原因-从未出现过,因为我做了连续部署,而是做了很多事才部署了它。