文档

升级和迁移指南

如何升级 GetWebP CLI 到新版本、切换到 Pro 计划或将您的许可证移到不同的设备。

升级和迁移指南

如何升级 GetWebP CLI 到新版本、切换到 Pro 计划或将您的许可证移到不同的设备。

另请参阅: 入门 | 命令参考 | 故障排除


目录#


升级到 Pro#

GetWebP CLI 在免费计划上立即工作(每次运行 20 个文件,3 秒延迟)。要解锁无限制文件、并行处理和 watch 命令,请升级到 Pro。

步骤#

  1. 购买 Pro 许可证,访问 getwebp.com/pricing
  2. 激活您设备上的许可证密钥:
getwebp auth XXXX-XXXX-XXXX-XXXX
Verifying license...
✓ Activated! Pro plan unlocked.
  1. 确认升级已生效:
getwebp status
Version    : 1.2.1
Mode       : Pro
License    : xxxx-xxxx-xxxx-A1B2
Expires    : 2027-04-01
Devices    : 1 / 5 used

续期? 使用新密钥运行 getwebp auth。旧激活会自动替换——无需注销。


升级 CLI 版本#

二进制下载 (所有平台)#

  1. 下载最新的二进制文件,来自 Releases 页面
平台二进制文件
macOS Apple Silicon (M1/M2/M3/M4)getwebp-macos-arm64
macOS Intelgetwebp-macos-x64
Linux x64getwebp-linux-x64
Windows x64getwebp-windows-x64.exe
  1. 替换现有的二进制文件。

macOS / Linux:

mv getwebp-macos-arm64 getwebp    # 根据您的平台调整
chmod +x getwebp
sudo mv getwebp /usr/local/bin/

如果 macOS 阻止新的二进制文件:

xattr -cr /usr/local/bin/getwebp

Windows:

getwebp.exe 在您的 PATH 上的目录中替换为新下载的文件。

  1. 验证升级:
getwebp -V
# 预期输出:getwebp/1.2.1

您的许可证激活会自动保留。版本升级后不需要重新认证——配置文件和存储的令牌保持完整。


迁移到新设备#

许可证绑定到设备。每个许可证都有设备限制(可通过 getwebp status 查看)。要移到新机器,首先在旧机器上释放插槽。

步骤 1 -- 停用旧设备#

设备上,运行:

getwebp logout
? Confirm unbind license from this device? This cannot be undone. (y/N) y
✓ Successfully unbound. This device is now on the Free plan.

对于脚本或 CI,使用 --force 跳过确认提示:

getwebp logout --force

注意: getwebp logout 需要网络访问。如果旧设备不可用,请查看下面的说明。

步骤 2 -- 在新设备上安装#

按照您的平台的标准安装步骤。查看 入门 -- 安装

步骤 3 -- 在新设备上激活#

getwebp auth XXXX-XXXX-XXXX-XXXX

紧急:旧设备不可用#

如果旧设备丢失或损坏:

  1. 转到您的 GetWebP 仪表板
  2. 在您的许可证下找到该设备并手动移除它。
  3. 使用 getwebp auth 在新设备上激活。

配置文件兼容性#

配置位置#

GetWebP 将其配置(许可证令牌和状态缓存)存储在特定平台的目录中:

平台默认路径
macOS~/Library/Preferences/getwebp-nodejs/config.json
Linux~/.config/getwebp-nodejs/config.json
Windows%APPDATA%\getwebp-nodejs\Config\config.json

使用 GETWEBP_CONFIG_DIR 覆盖配置目录:

GETWEBP_CONFIG_DIR=/custom/path getwebp status

机器绑定加密#

配置文件使用从您机器的硬件 ID 派生的密钥进行加密。这意味着:

  • 配置文件无法在机器之间复制。 来自一台设备的配置文件将无法在不同的设备上解密。
  • 如果您的机器 ID 改变(例如主要硬件替换、操作系统重新安装),请删除配置文件并重新激活。

如果无法读取机器 ID(例如在某些容器化环境中),CLI 回退到从主机名和用户名派生的密钥。


按版本的破坏性更改#

v1.2.0#

更改影响所需操作
退出代码重新编号PartialFailure 从 2 → 3;AuthError 3 → 4;NetworkError 4 → 5;新增代码 2(UsageError)、6(FreeLimitReached)、75(LicenseRevokedMidSession)更新对退出代码进行 case 分支的脚本
-v 重新绑定到 --verbose-v 以前打印版本,现在启用详细输出在任何使用 -v 获取版本的脚本中替换为 -V(大写)
--json 输出现在是 NDJSONconvert 命令以前发出单个 JSON 摘要对象,现在发出 NDJSON 事件流(每行一个)更新解析 JSON 输出的脚本——见 JSON 输出
-q 别名从 --quality 移到 --quiet使用 -q 80 设置质量的脚本现在必须使用 --quality 80-q <number> 替换为 --quality <number>
添加了 getwebp watchPro 用户的新命令无需操作(添加性变更)
免费层级限制从 10 → 20 个文件免费用户现在每次运行最多可转换 20 个文件无需操作(添加性变更)

之前 (v1.1.x):

getwebp convert ./images -q 85 --json
# 输出:{ "success": true, "status": "success", "total": 3, ... }

之后 (v1.2.0+):

getwebp convert ./images --quality 85 --json
# 发出 NDJSON 流——每行一个事件
# 最终事件类型:"convert.completed"

退出代码脚本迁移:

# 之前 (v1.1.x)
case $code in
  2) echo "Some files failed" ;;  # PartialFailure 曾是 2
  3) echo "License error" ;;      # AuthError 曾是 3
  4) echo "Network error" ;;      # NetworkError 曾是 4
esac
 
# 之后 (v1.2.0+)
case $code in
  2) echo "Usage error" ;;        # 新增:UsageError
  3) echo "Some files failed" ;;  # PartialFailure 现在是 3
  4) echo "License error" ;;      # AuthError 现在是 4
  5) echo "Network error" ;;      # NetworkError 现在是 5
  6) echo "Free limit reached" ;; # 新增:FreeLimitReached
esac

常见问题#

在升级 CLI 版本之前需要注销吗?#

不需要。版本升级不会影响您的许可证。只需替换二进制文件——您的激活保持有效。

Starter 计划发生了什么?#

Starter 计划已被停用。现在只有两个层级:FreePro。如果您之前有 Starter 许可证,它已被迁移到 Pro。

升级到 v1.2.0 后我的脚本崩溃了。为什么?#

v1.2.0 引入了三个影响脚本的破坏性更改:

  1. 退出代码被重新编号
  2. --json 输出格式从单个 JSON 对象更改为 NDJSON 流
  3. -q 别名从 --quality 移到 --quiet

有关迁移步骤,请参阅上面的 按版本的破坏性更改 部分。

我可以在同一台机器上运行不同的 CLI 版本吗?#

可以,但一次只应该有一个二进制文件在您的 PATH 上。配置文件在版本之间共享。

如果我在切换设备之前忘记注销会发生什么?#

您的许可证设备插槽仍然被占用。使用 GetWebP 仪表板 远程移除旧设备。

硬件更换后我的配置文件似乎损坏了。我该怎么办?#

删除配置文件并重新激活:

# macOS
rm ~/Library/Preferences/getwebp-nodejs/config.json
 
# Linux
rm ~/.config/getwebp-nodejs/config.json
 
# Windows (PowerShell)
Remove-Item "$env:APPDATA\getwebp-nodejs\Config\config.json"

然后重新激活:

getwebp auth XXXX-XXXX-XXXX-XXXX

我升级了我的计划,但 getwebp status 仍然显示旧层级。#

使用您的许可证密钥再次运行 getwebp auth 以刷新本地令牌。


链接:

  • 定价 — 购买或升级您的计划
  • 仪表板 — 管理设备和许可证
  • 下载 — 获取最新的二进制文件