Node.js 執行者在 Azure Pipelines Agent

Azure Pipelines 代理程式附帶多個版本的 Node.js 函式庫,以支援可能需要不同 Node.js 處理器的目標任務。

Warning

Node.js 6、10 和 16 已進入生命週期末期,將於 2026 年 11 月 24 日從代理人中移除。 Azure Pipelines 代理程式已內含 Node.js 24。 擴充功能與自訂任務作者應將其任務更新至 Node.js 24,以避免對使用這些任務的管線造成任何影響。

Node.js 版本支援

下表列出 Azure Pipelines 支援的 Node.js 版本,以及它們的終止支援日期與移除日期。

Node.js 版本 Azure Pipelines 支援終止 Azure Pipelines 中的移除日期
24 2028年4月1日 2028年10月1日
20 2026 年 4 月 2027年4月
16 2021 年 9 月 2026年11月24日
10 2021年4月 2026年11月24日
6 2019年4月 2026年11月24日
  • Azure Pipelines 支援終止 — 當支援終止日期抵達時,Azure Pipelines 代理程式中 Node.js 版本將不會更新。 支援終止日期依據官方 Node.js 支援時間表決定。
  • Azure Pipelines 中的移除日期——當移除日期達到時,Node.js 版本將從新的代理版本中移除,且需要這些 Node.js 版本的任務可能會無法執行。 移除日期將始終至少在停止支援日期後六個月。

管線會發出警告,告知用戶即將到來的支援終止或下架日期。

從 Node.js 24 開始,Azure Pipelines 代理程式僅包含交替的長期支援(LTS)Node.js 版本。

1Node.js 24 的支援終止與移除日期與官方 2025 年 11 月的 Node.js 支援時間表 相符。 這些日期可能會根據 Node.js 團隊未來的公告而調整。

Node.js 6、10 和 16 的移除日期

Node.js 6、10 和 16 自各自停止支援日期起,便未在管線中提供支援。 依賴這些 Node.js 版本的任務管線目前執行時會發出警告。 為了給你足夠時間將自訂任務遷移到支援的 Node.js 版本,我們將移除日期延長至 2026 年 11 月 24 日。

關於如何更新及測試自訂任務至目前版本的 Node.js資訊,請參見 「我如何將任務升級到最新版本的 Node.js」。

在終止支援的 Node.js 執行器被移除之前測試工作

使用組織層級的 限制在管線工作中使用已停止支援的 Node.js 版本 設定,評估從代理程式移除 Node.js 6、10 和 16 會如何影響您的管線。 這個設定預設是關閉的。 啟用後,受影響的任務會改用較新的可用 Node.js 執行器執行,而不是使用其宣告為已終止支援的執行器。

此設定能幫助您在 2026 年 11 月 24 日 Node.js 6、10 和 16 從代理移除前,識別並更新受影響的管線。 它不會從代理程式中移除執行器。

此功能的前提條件

你需要 Agent 版本 4.278.0 或更新版本才能設定上述設定。

啟用該設定

  1. 前往 組織設定>管道>設定。

  2. 在 任務限制 下,啟用 限制在管線工作中使用已停止支援的 Node.js 版本。

    顯示已啟用用來限制管線工作中已停止支援的 Node.js 版本之設定的螢幕擷取畫面。

  3. 執行您的管線,並檢查記錄中是否有關於相依於已終止支援之 Node.js 版本的工作的警告。

啟用設定時的行為

對於每個宣告使用 Node.js 6、10 或 16 執行處理常式的任務,代理程式:

  1. 防止任務使用其所宣告的已終止支援 Node.js 執行器。
  2. 選取較新且可用的執行器,優先選用 Node.js 24,其次是 Node.js 20。
  3. 記錄一個警告,識別受影響的任務,並說明它可能會失敗或出現意外行為。
  4. 用所選執行器執行任務,或若無相容的新執行器可用,則任務失敗。

此設定適用於 Microsoft 託管與自架代理,以及在代理主機或容器中執行的任務。

Important

用較新的 Node.js 版本執行任務,並不代表該任務與該版本相容。 測試受影響的管線,並更新自訂任務以使用目前的 Node.js 執行器。 關於遷移指引,請參閱「 我如何將我的任務升級到最新版本的 Node.js」。

如何在不支援的 Node.js 版本上執行任務

為了維持使用已不再支援或已移除的 Node.js 版本自訂任務的向下相容性,我們提供以下自助選項,讓您能安裝所需的 Node.js 運行器:

  • 手動安裝所需的 Node.js 執行器。 如需詳細資訊,請參閱 Node.js 執行器支援。

  • 在你的管道中需要過時的 Node.js 函式庫時,使用 NodeTaskRunnerInstaller@0 任務。

  • 安裝包含所需 Node.js 函式庫的代理程式包。

    Azure Pipelines 提供兩個版本的代理程式套件:

    • vsts-agent-\:支援 Node.js 6 和 Node.js 10 程式庫的套件。
    • pipelines-agent-\:不支援 Node.js 6 和 Node.js 10 程式庫的套件。 未來,此版本的套件會成為預設代理程式套件。

    備註

    pipelines-agent套裝不含 Node.js 16。 擴充功能與自訂任務作者應更新 並測試 Node.js 24 的任務。

    如果您的工作不需要 Node.js 6 或 Node.js 10 程式庫,而且您不想在代理程式電腦上安裝 Node.js 6 或 Node.js 10 程式庫,您可以從 本文件的替代代理程式下載下安裝代理程式。

FAQ

當我啟用該設定時,使用 Node.js 6、10或16的任務會發生什麼事?

代理程式會封鎖該任務所宣告、已終止支援的執行器,並嘗試使用 Node.js 24 執行該任務;如果 Node.js 24 無法使用或不可用,則改用 Node.js 20。 管線日誌會標示受影響的任務並顯示警告。 如果沒有較新的可用執行器,該任務就會失敗。

使用 Node.js 的腳本和應用程式並不會因為使用 Node.js而受到影響。 該設定適用於由Azure Pipelines任務宣告的 Node.js 執行處理器。

為什麼在我啟用設定後,我的管線開始失敗?

管線可能使用的任務與較新的 Node.js 運行器不相容。 檢視管線日誌中的任務警告與錯誤,以找出受影響的任務。

  • 若為內建任務,請更新管線以使用該任務的最新主要版本。
  • 若有 Marketplace 任務,請查詢是否有更新版本或聯絡擴充功能發佈者。
  • 對於自訂任務,將執行處理器與相依關係更新為目前的 Node.js 版本。 欲了解更多資訊,請參閱 「我如何將任務升級至最新版本的 Node.js」。
  • 對於自架代理,請確保代理版本更新至 v 4.278.0 或更新版本。

在移除生命週期末期跑者之前,你可以暫時關閉組織設定,同時更新任務。 關閉設定並非長期解決方案,因為 Node.js 6、10 和 16 預定於 2026 年 11 月 24 日移除。

這項設定會將 Node.js 6、10 或 16 從我的代理程式中移除嗎?

No. 這項設定會防止管線任務選取這些執行器,讓你可以測試即將移除它們所造成的影響。 它不會從代理程式中卸載檔案。

我可以繼續使用不受支援的 Node.js 執行器嗎?

繼續使用已終止支援的執行階段會有安全性和相容性風險,因此請改為更新該工作。 關於臨時自架代理選項,請參閱 如何在不支援的 Node.js 版本上執行任務。

這個設定會影響 Azure DevOps Server 嗎?

No. 組織設定在 Azure DevOps Server 中無法使用。

另請參閱