將專案從 Next.js 13 升級至 14 版本時,除了直接執行對應的指令外,開發者最常忽略的是系統環境與相依套件的匹配問題。升級 Next.js 14 不僅需要更新框架本身,更強制要求 Node.js 必須達到最低版本門檻,且 React 與 react-dom 也必須同步升級至對應的最新穩定版,否則極易在建置(Build)或執行階段引發相依性衝突。
本文整理四大主流套件管理工具(npm、yarn、pnpm、bun)在進行「Next.js 13 升級 14」時的標準指令,並補充環境需求與升級後的常見注意事項,協助開發團隊順利完成版本迭代。
環境前置檢查與 Node.js 版本的對應要求
在執行升級指令之前,必須確認本機與 CI/CD 伺服器的執行環境是否符合 Next.js 14 的最低規格。
Next.js 14 的硬性環境門檻如下:
- Node.js 最低版本需求:必須為 Node.js 18.17.0 或更高版本(建議使用最新的 LTS 版本)。
- React 相依性:必須同步升級至
18.2.0或更高版本。
若環境中的 Node.js 版本低於 18.17.0,請務必先透過 nvm(Node Version Manager)或其他工具切換或升級 Node.js,再執行後續的套件更新。
四大套件管理工具的升級指令
針對不同的專案環境,請選擇對應的套件管理工具執行更新指令。這些指令會同時更新 Next.js、React、react-dom 以及 eslint-config-next。
1. 使用 npm 升級
若專案使用 npm 進行相依性管理,請在終端機執行以下指令:
npm i next@latest react@latest react-dom@latest eslint-config-next@latest
2. 使用 yarn 升級
若專案使用 Yarn(Classic 或 Berry),請執行以下指令:
yarn add next@latest react@latest react-dom@latest eslint-config-next@latest
3. 使用 pnpm 升級
若專案採用 pnpm,由於其嚴格的幽靈相依性(Phantom Dependencies)與內容定址儲存機制,請使用 up 指令來確保所有相關套件正確更新:
pnpm up next react react-dom eslint-config-next --latest
4. 使用 bun 升級
若專案採用高效能的 Bun 套件管理工具,請執行以下指令:
bun add next@latest react@latest react-dom@latest eslint-config-next@latest
升級後的常見檢查重點
完成上述指令並更新 package.json 後,建議執行以下步驟以確保專案運作正常:
- 清除快取與建置資料夾:
升級後強烈建議刪除本地的.next快取資料夾與node_modules(若遇奇怪報錯),重新安裝並執行開發伺服器:rm -rf .next node_modules npm install # 或對應的套件管理工具安裝指令 npm run dev - 檢查 Server Actions 相關設定:
Next.js 14 將 Server Actions 從實驗性功能轉為穩定版本。若專案在 13 版本中開啟了實驗性設定,請檢查next.config.js是否需要移除舊的serverActions: true旗標(14 版本中已預設啟用)。 - TypeScript 型別檢查:
執行npx tsc --noEmit確保升級 React 與 Next.js 之後,專案內部的型別定義沒有遭到破壞。
發佈留言