跳到主要內容

升級伺服器

本文件提供將 Blocklet Server 命令列介面 (CLI) 升級至最新可用版本的說明。

命令用法

upgrade 命令會自動化擷取和安裝最新版本 Blocklet Server CLI 的過程。

bash
blocklet server upgrade

升級過程

該命令會執行一系列步驟,以確保安全且成功的升級。過程如下:

  1. 版本檢查

    此命令首先會從 npm 註冊庫中擷取最新的可用版本號,並與目前安裝的版本進行比較。如果目前版本已是最新版,則程序終止。

  2. 權限驗證

    它會驗證目前使用者是否對 CLI 工具的安裝目錄擁有必要的寫入權限。如果權限不足,命令將會失敗並建議使用 sudo 重新執行。

  3. 關閉伺服器

    如果 Blocklet Server 實例正在運行,升級命令將自動停止伺服器,以防止在更新過程中發生任何衝突。原始的運行狀態和資料目錄會被儲存起來。

  4. 安裝

    此命令會使用系統偵測到的套件管理器(例如 npm、yarn)繼續下載並安裝最新版本的 CLI 套件。

  5. 重新啟動伺服器

    如果伺服器在升級前正在運行,此命令會自動從其原始資料目錄重新啟動它,以確保服務的連續性。

  6. 確認

    成功完成後,會顯示一則確認訊息,其中包含升級後的新版本號。

下圖說明了 upgrade 命令的工作流程。

Upgrade Server

執行範例

當您執行此命令時,它將顯示升級的進度。

bash
$ blocklet server upgrade

ℹ Using blocklet server from /home/user/.nvm/versions/node/v16.20.2/bin/blocklet
ℹ Checking permissions...
ℹ Current version is 1.8.0, found latest version 1.8.1
ℹ Begin upgrade
ℹ Stopping Blocklet Server ...
ℹ Installing Blocklet Server by npm install -g @blocklet/cli@latest ...

+ @blocklet/cli@1.8.1
added 1 package from 1 contributor, updated 1 package and audited 931 packages in 10.2s

ℹ Restarting Blocklet Server ...
✔ Blocklet Server started
✔ Blocklet Server upgrade success, current version is 1.8.1

權限不足

如果您缺乏修改安裝目錄的必要權限,該命令將會輸出錯誤並提供指引。

bash
$ blocklet server upgrade

ℹ Using blocklet server from /usr/local/bin/blocklet
ℹ Checking permissions...
✖ Seems you do not have permission to upgrade Blocklet Server version
ℹ Maybe you can try run sudo blocklet server upgrade

在這種情況下,您應該按照建議使用 sudo 執行此命令:

bash
sudo blocklet server upgrade

已是最新版本

如果您的 Blocklet Server CLI 已經是最新版本,該命令會通知您無需採取任何操作。

bash
$ blocklet server upgrade

ℹ Using blocklet server from /home/user/.nvm/versions/node/v16.20.2/bin/blocklet
ℹ Checking permissions...
ℹ The current version 1.8.1 is the latest version, no need to upgrade