---
title: "Node.js 27 首個 Alpha 版推出 V8 升至 15.6 並終止 OpenSSL 引擎支援"
url: https://sammy.hk/nodejs-27-alpha-release/
author: Ethan
published: 2026-11-03T17:43:00+08:00
modified: 2026-11-03T09:55:52+08:00
description: "Node.js 專註於十月二十九日發布 27.0.0-alpha.0.0.0，是 Node.js 27 開發週期的第一個 Alpha 版本，由 Rafael Gonzaga 負責發布[1]。這個版本把 V8 引擎由 14.6 升級至 15.6.75.13，並一次過移除多項遺留的 OpenSSL 路徑，屬於典型的「大版本…"
categories: ["開放源碼"]
tags: [JavaScript, Node.js, V8, "版本發布", "開源"]
source: https://sammy.hk
---
![Node.js 27 Alpha 發布 V8 15.6 OpenSSL 引擎終止支援](https://sammy.hk/wp-content/uploads/2026/11/openrouter_google_gemini-3_1-flash-lite-image_20261103_095052_64c33422.jpg)Node.js 專註於十月二十九日發布 27.0.0-alpha.0.0.0，是 Node.js 27 開發週期的第一個 Alpha 版本，由 Rafael Gonzaga 負責發布\[1\]。這個版本把 V8 引擎由 14.6 升級至 15.6.75.13，並一次過移除多項遺留的 OpenSSL 路徑，屬於典型的「大版本清理」式更新。Alpha 版距離正式進入 Current 通道還有一段時間，但已足夠讓套件維護者預先檢視相容性。

## 語言與執行引擎

V8 15.6 帶來多項預設啟用的語言功能，包括 `Math.sumPrecise()`、`Intl.Locale.prototype.variants`、`Iterator.prototype.join()`、`Iterator.prototype.includes()`，以及 `Iterator.zip()` 與 `Iterator.zipKeyed()`。需要旗標的實驗功能劃有 `import defer`（`--js-defer-import-eval`）、不可變 `ArrayBuffer`（`--js-immutable-arraybuffer`）與 RegExp buffer boundaries。

行為隱面亦有多項變動。`Math` 系列方法改用 LLVM 的 libm 實作，最後一位有效位可能與舊版不同；同一個 `--random-seed` 之下，`Math.random()` 產生的序列會改變；`error.stack` 不再攜帶原型鏈查找；`await` 產生的微任務數量減少；大型陣列的 `Array.prototype.sort()` 改用 PowerSort，並堅持穩定排序。WebAssembly 方向，asm.js 不再編譯成 Wasm，`--experimental-wasm-` 系列旗標改名為 `--wasm-`。

## 記憶體與序列化

記憶體預設值改動值得留意。當沒有指定 `--max-old-space-size` 時，預設壓力上限改為實際記憶體的一半，並落在 256 MB 至 4 GB 之間；同時 `Buffer` 與 `ArrayBuffer` 實例所佔記憶體亦計入壓力上限。反之，過去舊版預設「餓死」記憶體的濫用，升級後可能提早觸發記憶體不足，需要明確設定上限。

序列化格式亦有破壞性變動。`v8.serialize()`、`structuredClone()` 與 `postMessage()` 改用新格式，舊版 Node.js 無法讀取；`v8.cachedDataVersionTag()` 與編譯快取改為在每個 V8 修訂版本都會變動，不再只在 V8 大版本更新時變動。此外，壓縮快照現在會包含內部物件、數值與完整腳本原始碼，生成時間約為原本兩倍，檔案大小亦約為兩倍\[1\]。

## 加密壓力的清理

這個版本把 OpenSSL 原始碼升級至 4.1.0，並把「要求 OpenSSL 3 或以上」列為 semver-major 變動，同時移除內建的 FIPS provider 建置、舊版 OpenSSL 程式碼路徑與 ncrypto 後端，以及結束 OpenSSL engine 支援。相關項目 DEP0093、DEP0198、DEP0203 與 DEP0204 一併進入生命週期結束。若專案依賴 FIPS 模式或自簽 engine，升級前必須先確認替代方案。

其他 semver-major 變動包括：`fs.glob` 改為原生實作；HTTP 的 `keepAliveTimeout` 預設值提高至 65 秒；`req.headers` 改為空原型物件；回調標頭超過上限時直接拒絕；`domain` 模組進入 runtime 棲用；npm 升級至 12.1.0；Intel macOS 支援降級為實驗性。

## 升級注意

Alpha 版本不宜用於生產環境，但有意測試的維護者宜先在 CI 跑一次完整測試，特別留意記憶體上限、序列化格式與 `req.headers` 空原型這三項，它們最容易在無警告的情況下改變行為。如果慣用 `--max-old-space-size` 自行控制記憶體則不受影響，但仍需檢查 `Buffer` 計入壓力後的實際用量。

## 參考資料

\[1\] [Node.js 27.0.0-alpha.0.0.0 (Alpha)（2026年10月29日）](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0)

### 相關文章：

1. [Node.js 27 首個 alpha 版本推出 改用 V8 15.6 並要求 OpenSSL 3 以上](https://sammy.hk/nodejs-27-alpha-released/ "Node.js 27 首個 alpha 版本推出 改用 V8 15.6 並要求 OpenSSL 3 以上")
2. [GitHub 用 AI 代理把 Copilot 執行時重寫為 Rust：832,378 行與 96% 提示快取命中](https://sammy.hk/github-%e7%94%a8-ai-%e4%bb%a3%e7%90%86%e6%8a%8a-copilot-%e5%9f%b7%e8%a1%8c%e6%99%82%e9%87%8d%e5%af%ab%e7%82%ba-rust%ef%bc%9a832378-%e8%a1%8c%e8%88%87-96-%e6%8f%90%e7%a4%ba%e5%bf%ab%e5%8f%96%e5%91%bd/ "GitHub 用 AI 代理把 Copilot 執行時重寫為 Rust：832,378 行與 96% 提示快取命中")
3. [Gzip 1.15 修好一批自問世以來就存在的 bug](https://sammy.hk/gzip-1-15-%e4%bf%ae%e5%a5%bd%e4%b8%80%e6%89%b9%e8%87%aa%e5%95%8f%e4%b8%96%e4%bb%a5%e4%be%86%e5%b0%b1%e5%ad%98%e5%9c%a8%e7%9a%84-bug/ "Gzip 1.15 修好一批自問世以來就存在的 bug")
4. [GNOME 51 發佈：圖形效能、系統設定與離線地圖齊齊更新](https://sammy.hk/gnome-51-%e7%99%bc%e4%bd%88%ef%bc%9a%e5%9c%96%e5%bd%a2%e6%95%88%e8%83%bd%e3%80%81%e7%b3%bb%e7%b5%b1%e8%a8%ad%e5%ae%9a%e8%88%87%e9%9b%a2%e7%b7%9a%e5%9c%b0%e5%9c%96%e9%bd%8a%e9%bd%8a%e6%9b%b4%e6%96%b0/ "GNOME 51 發佈：圖形效能、系統設定與離線地圖齊齊更新")
