AI Engineering Tools

程式設計

錯誤訊息閱讀指南

學習從錯誤日誌找出真正原因、檔案位置、警告與失敗差異,以及精準提出除錯請求。

31 個項目

訊息結構

第一個錯誤行

First error line

TypeError: Cannot read properties of undefined

意思

错误的第一行通常是最佳的起点。

閱讀方式

暫時忽略重複的後續日誌,並識別包含失敗原因的第一行。

範例

TypeError: Cannot read properties of undefined

請求範例

找到此日誌中的第一行實際錯誤。

訊息結構

錯誤名稱

Error name

SyntaxError, TypeError, ReferenceError

意思

错误名称会告诉你问题的广泛类别。

閱讀方式

運用它來區分語法、運行時、類型、網路和環境問題。

範例

SyntaxError, TypeError, ReferenceError

請求範例

在建議解決方案之前,根據錯誤名稱對此錯誤進行分類。

訊息結構

錯誤訊息

Error message

Module not found: Can't resolve '@/lib/error-message-guide'

意思

该消息解释了该工具无法执行的操作。

閱讀方式

讀取動詞和對象:無法解析模塊、無法讀取屬性或無法綁定端口。

範例

Module not found: Can't resolve '@/lib/error-message-guide'

請求範例

將此錯誤訊息用簡單的韓語重新編寫,並指出可能的原因。

訊息結構

堆疊追蹤

Stack trace

at SiteHeader (src/components/SiteHeader.tsx:42:15)

意思

一個導致錯誤的函數調用列表。

閱讀方式

找到指向您的專案檔案的第一行,然後檢查該區域。

注意

頂部堆疊行不總是您的程式碼。 有些行是框架的內部程式碼。

範例

at SiteHeader (src/components/SiteHeader.tsx:42:15)

請求範例

在此堆疊追蹤中,識別來自我的項目的第一行。

位置線索

檔案路徑

File path

src/components/LanguageSwitcher.tsx

意思

路徑指示工具認為哪個檔案可能相關。

閱讀方式

優先選擇 `src`、`app`、`components` 或 `lib` 下的路徑,然後再檢查依賴項資料夾。

範例

src/components/LanguageSwitcher.tsx

請求範例

列出此錯誤提及的項目文件。

位置線索

行和列

Line and column

src/app/page.tsx:27:12

意思

行和列將位置縮小到特定的字符區域。

閱讀方式

檢查指定的行以及它上面的幾行,因為真正的原因可能在更早的地方開始。

範例

src/app/page.tsx:27:12

請求範例

開啟包含報告行的文件,並解釋哪些地方看起來有問題。

位置線索

專案文件行

Project file line

src/lib/git-github.ts:143:7

意思

一個指向您的原始程式碼而不是依賴項的堆疊或構建行。

閱讀方式

這通常是閱讀長時間的框架追蹤資訊之前需要檢查的行。

範例

src/lib/git-github.ts:143:7

請求範例

區分專案檔案中的行與框架檔案中的行。

位置線索

node_modules line

node_modules line

node_modules/next/dist/server/app-render.js

意思

一個安裝的依賴項或框架包中的一條線。

閱讀方式

如果日誌中沒有指向套件版本或配置問題,則將其視為上下文。

注意

不要直接編輯 node_modules,作為正常的修復。

範例

node_modules/next/dist/server/app-render.js

請求範例

請告訴我,這行 `node_modules` 是否是問題的根源,還是僅僅是上下文資訊。

JavaScript 執行錯誤

SyntaxError

SyntaxError

SyntaxError: Unexpected token '}'

意思

JavaScript 或 TypeScript 無法解析程式碼。

閱讀方式

檢查括號、引號、逗號、JSX 標籤以及報告行附近的未完成表達式。

範例

SyntaxError: Unexpected token '}'

請求範例

找到此行附近的語法問題。

JavaScript 執行錯誤

TypeError

TypeError

TypeError: Cannot read properties of undefined

意思

該值在運行時沒有預期的形狀或行為。

閱讀方式

檢查該值是否可以是未定義、null、字串而不是物件,或遺漏的函數。

範例

TypeError: Cannot read properties of undefined

請求範例

追蹤此未定義的值的來源。

JavaScript 執行錯誤

ReferenceError

ReferenceError

ReferenceError: copy is not defined

意思

程式碼嘗試使用在該範圍中不可用的變數或函數名稱。

閱讀方式

檢查匯入、拼寫、範圍,以及變數是否在使用之前已宣告。

範例

ReferenceError: copy is not defined

請求範例

找到為什麼這個名稱未定義。

JavaScript 執行錯誤

無法讀取未定義的屬性

Cannot read properties of undefined

無法讀取未定義的屬性 (讀取 'navLabel')

意思

程式碼嘗試存取未定義的值的屬性。

閱讀方式

檢查點之前的物件,例如 copy、locale、params 或地圖查找結果。

範例

無法讀取未定義的屬性 (讀取 'navLabel')

請求範例

確定此錯誤中未定義的值。

JavaScript 執行錯誤

不是一个函数。

is not a function

setOpenMenu 不是一個函數。

意思

程式碼嘗試使用括號呼叫某個東西,但該值不是函數。

閱讀方式

檢查屬性、匯入、hook 結果或物件方法是否具有預期的名稱。

範例

setOpenMenu 不是一個函數。

請求範例

找到為什麼這個值被當作函數調用。

Next.js 與 Web

Module not found

Module not found

Module not found: Can't resolve '@/lib/error-message-guide'

意思

封裝器無法找到匯入中指定的檔案或套件。

閱讀方式

檢查檔案是否存在、路徑拼寫是否正確,以及別名是否指向預期的資料夾。

範例

Module not found: Can't resolve '@/lib/error-message-guide'

請求範例

檢查匯入路徑和實際檔案路徑。

Next.js 與 Web

未找到匯出項目。

Export not found

Export errorMessageGuideCopy doesn't exist in target module

意思

导入名称与目标文件中的任何导出项都不匹配。

閱讀方式

比較導入的名稱與確切的匯出 const、函數或類型名稱。

範例

Export errorMessageGuideCopy doesn't exist in target module

請求範例

找到不匹配的匯入或匯出名稱。

Next.js 與 Web

Hydration failed

Hydration failed

Hydration failed because the server rendered HTML didn't match the client

意思

伺服器生成的 HTML 與 React 在瀏覽器中渲染的內容不符。

閱讀方式

檢查在初始渲染期間使用的瀏覽器專有值、日期、隨機值、localStorage 和主題狀態。

範例

Hydration failed because the server rendered HTML didn't match the client

請求範例

找到伺服器和客戶端渲染不一致的情況。

Next.js 與 Web

404 Not Found

404 Not Found

GET /ko/reference/error-message-guide 404

意思

無法找到請求的路由或檔案。

閱讀方式

檢查路由資料夾、generateStaticParams、link href 和匯出的靜態輸出路徑。

範例

GET /ko/reference/error-message-guide 404

請求範例

檢查為什麼這個路由會返回 404 錯誤。

Next.js 與 Web

500 Internal Server Error

500 Internal Server Error

GET /ko 500

意思

伺服器收到請求,但在處理過程中發生錯誤。

閱讀方式

檢查來自相同請求的終端機日誌,而不要僅僅查看瀏覽器的狀態碼。

範例

GET /ko 500

請求範例

將此瀏覽器的 500 錯誤訊息與導致該錯誤的終端錯誤訊息進行匹配。

TypeScript 與 lint

該屬性在該類型中不存在。

Property does not exist on type

屬性 'navLabel' 在類型 'string' 中不存在。

意思

TypeScript 指出,值的聲明類型不包含該屬性。

閱讀方式

檢查該值是否具有正確的類型、是否已正確索引,以及數據結構是否已更改。

範例

屬性 'navLabel' 在類型 'string' 中不存在。

請求範例

說明為什麼 TypeScript 認為這個屬性不存在。

TypeScript 與 lint

類型不相容

Type is not assignable

類型 'string' 無法分配給類型 'Locale'

意思

該值正在傳遞到期望不同類型的地方。

閱讀方式

比較實際值類型與命名為 'to type' 的預期類型。

範例

類型 'string' 無法分配給類型 'Locale'

請求範例

顯示此錯誤中的實際類型和預期類型。

TypeScript 與 lint

ESLint 錯誤

ESLint error

React Hook `useEffect` 缺少依賴項。

意思

一個靜態分析規則發現了可能不安全、不一致或違反項目樣式的程式碼。

閱讀方式

讀取規則名稱和文件行,然後決定是否應更改代碼或依賴項列表。

範例

React Hook `useEffect` 缺少依賴項。

請求範例

說明此 lint 錯誤,並在不更改行為的情況下進行修復。

Next.js 與 Web

構建失敗

Build failed

編譯失敗。

意思

構建過程未能完成。

閱讀方式

向下滾動到摘要,然後找到第一個編譯、類型、lint 或路由錯誤。

範例

編譯失敗。

請求範例

從此構建日誌中,識別第一個導致失敗的錯誤。

終端機與系統

EADDRINUSE

EADDRINUSE

Error: listen EADDRINUSE: address already in use :::3001

意思

伺服器嘗試使用另一個正在使用的埠。

閱讀方式

停止舊伺服器,或在新伺服器上使用不同的端口運行。

範例

Error: listen EADDRINUSE: address already in use :::3001

請求範例

找到哪些正在使用此埠,並建議最安全的下一步。

終端機與系統

ENOENT

ENOENT

ENOENT:找不到該檔案或目錄,開啟 'next.config.js'

意思

該過程嘗試打開一個在該路徑中不存在的檔案或資料夾。

閱讀方式

檢查當前的工作目錄、檔案名稱拼寫、擴展名和生成的檔案。

範例

ENOENT:找不到該檔案或目錄,開啟 'next.config.js'

請求範例

檢查此檔案是否遺失,或者命令是否從錯誤的資料夾執行。

終端機與系統

權限不足

Permission denied

禁止的操作

意思

該程序沒有讀取、寫入或執行目標的權限。

閱讀方式

檢查沙箱規則、檔案權限、受保護的資料夾以及是否需要批准。

注意

不要通過廣泛更改權限來修復權限錯誤,除非您了解目標。

範例

禁止的操作

請求範例

說明為什麼會發生這個權限錯誤,以及需要什麼授權。

終端機與系統

未找到命令

Command not found

zsh: command not found: next

意思

Shell 無法找到具有該名稱的可執行命令。

閱讀方式

檢查是否已安裝依賴項、是否應使用 npm 腳本,以及是否已設定 PATH。

範例

zsh: command not found: next

請求範例

請告訴我是否應該執行 npm 腳本,而不是使用此命令。

除錯順序

警告

Warning

DeprecationWarning: module.register() is deprecated

意思

一個警告表示某事可能需要注意,但它可能不會停止當前的命令。

閱讀方式

檢查命令是否仍然成功完成,然後將警告視為失敗。

範例

DeprecationWarning: module.register() is deprecated

請求範例

將此輸出中的阻塞錯誤與非阻塞警告分開。

除錯順序

DeprecationWarning

DeprecationWarning

DeprecationWarning: module.register() is deprecated

意思

一個功能目前仍然有效,但計劃稍後被替換或移除。

閱讀方式

如果構建成功,請將其記錄為後續操作,除非它指向您的代碼或需要升級。

範例

DeprecationWarning: module.register() is deprecated

請求範例

請告訴我,這個 DeprecationWarning 是否會阻止部署。

除錯順序

最近的更改。

Recent change

错误是在编辑 SiteHeader.tsx 文件后开始的。

意思

最新的相关编辑通常是最有价值的线索。

閱讀方式

比較錯誤位置與當前任務中修改的檔案。

範例

错误是在编辑 SiteHeader.tsx 文件后开始的。

請求範例

將此錯誤與最近修改的檔案進行比較。

除錯順序

復原步驟

Reproduce step

開啟 /ko,點擊語言選單,然後點擊網站選單

意思

導致錯誤再次出現的最小動作序列。

閱讀方式

清除的重現步驟,可以驗證修復是否真正有效。

範例

開啟 /ko,點擊語言選單,然後點擊網站選單

請求範例

將此描述轉換為精確的重現步驟。

除錯順序

最小化日誌

Minimal log

錯誤行 + 檔案路徑 + 來源程式碼的堆疊行

意思

一組簡短的日誌行,用於保留實際的失敗和位置資訊。

閱讀方式

保持第一個錯誤、專案檔案路徑、命令以及最終的成功或失敗摘要。

範例

錯誤行 + 檔案路徑 + 來源程式碼的堆疊行

請求範例

將此長日誌壓縮成用於除錯所需的最小行數。