跳到主要内容

升级服务器

本文档提供了将 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 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