簡體   English   中英

Netlify 'build.command failed: base: /opt/build/repo/client' 用於部署 React 應用程序

[英]Netlify 'build.command failed: base: /opt/build/repo/client' for deploying React app

我正在嘗試將 React 應用程序部署到 Netlify,但在部署過程中我遇到了以下錯誤:

...
9:11:17 AM: ────────────────────────────────────────────────────────────────
9:11:17 AM:   "build.command" failed                                        
9:11:17 AM: ────────────────────────────────────────────────────────────────
9:11:17 AM: ​
9:11:17 AM:   Error message
9:11:17 AM:   Command failed with exit code 1: npm run build
9:11:17 AM: ​
9:11:17 AM:   Error location
9:11:17 AM:   In Build command from Netlify app:
9:11:17 AM:   npm run build
9:11:17 AM: ​
9:11:17 AM:   Resolved config
9:11:17 AM:   build:
9:11:17 AM:     base: /opt/build/repo/client
9:11:17 AM:     command: npm run build
9:11:17 AM:     commandOrigin: ui
9:11:17 AM:     publish: /opt/build/repo/client/build
9:11:17 AM:     publishOrigin: ui
9:11:18 AM: Caching artifacts
9:11:18 AM: Started saving node modules
...

請記住,我自己在回答這個問題,因為我找到了解決方案,並希望與可能遇到相同問題的其他人分享。

我知道這個問題有點老了,但我找到了解決它的解決方案,並認為我會提供它,以防其他構建損壞的人停下來。

為了在 Netlify 上構建 Next.js,您需要安裝 Netlify Next.js 插件。 您可以通過在項目的根目錄中創建一個netlify.toml文件來做到這一點:

[[plugins]]
package = "@netlify/plugin-nextjs"

[build]
publish = ".next"

我在package.json中的腳本如下所示:

  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },

我的 Netlify 設置如下所示:

在此處輸入圖像描述

主要需要注意的是:

  • 您必須使用需要添加到項目依賴項中的 Netlify Next.js 插件
  • 發布目錄必須在 Netlify 上指定為.next ,這是運行next build時的默認目錄
  • 您必須在 Netlify 上運行next build ,以便生成.next目錄。 我通過運行指向next buildnpm run build來做到這一點。

希望這可以幫助任何有同樣問題的人!

基本上,Netlify 在部署過程中執行的npm run build命令存在問題,盡管在本地運行npm run build時它是成功的。

因此,只需從 Netlify 持續部署選項卡中刪除構建步驟即可通過繞過 Netlify 構建過程並僅依賴本地生成的/build文件夾作為 Netlify 構建設置中的發布目錄來解決問題。

這是一個截圖供參考: 在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM