升级和迁移指南
如何升级 GetWebP CLI 到新版本、切换到 Pro 计划或将您的许可证移到不同的设备。
升级和迁移指南
如何升级 GetWebP CLI 到新版本、切换到 Pro 计划或将您的许可证移到不同的设备。
目录#
升级到 Pro#
GetWebP CLI 在免费计划上立即工作(每次运行 20 个文件,3 秒延迟)。要解锁无限制文件、并行处理和 watch 命令,请升级到 Pro。
步骤#
- 购买 Pro 许可证,访问 getwebp.com/pricing。
- 激活您设备上的许可证密钥:
getwebp auth XXXX-XXXX-XXXX-XXXXVerifying license...
✓ Activated! Pro plan unlocked.
- 确认升级已生效:
getwebp statusVersion : 1.2.1
Mode : Pro
License : xxxx-xxxx-xxxx-A1B2
Expires : 2027-04-01
Devices : 1 / 5 used
续期? 使用新密钥运行
getwebp auth。旧激活会自动替换——无需注销。
升级 CLI 版本#
二进制下载 (所有平台)#
- 下载最新的二进制文件,来自 Releases 页面。
| 平台 | 二进制文件 |
|---|---|
| macOS Apple Silicon (M1/M2/M3/M4) | getwebp-macos-arm64 |
| macOS Intel | getwebp-macos-x64 |
| Linux x64 | getwebp-linux-x64 |
| Windows x64 | getwebp-windows-x64.exe |
- 替换现有的二进制文件。
macOS / Linux:
mv getwebp-macos-arm64 getwebp # 根据您的平台调整
chmod +x getwebp
sudo mv getwebp /usr/local/bin/如果 macOS 阻止新的二进制文件:
xattr -cr /usr/local/bin/getwebpWindows:
将 getwebp.exe 在您的 PATH 上的目录中替换为新下载的文件。
- 验证升级:
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紧急:旧设备不可用#
如果旧设备丢失或损坏:
- 转到您的 GetWebP 仪表板。
- 在您的许可证下找到该设备并手动移除它。
- 使用
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 输出现在是 NDJSON | convert 命令以前发出单个 JSON 摘要对象,现在发出 NDJSON 事件流(每行一个) | 更新解析 JSON 输出的脚本——见 JSON 输出 |
-q 别名从 --quality 移到 --quiet | 使用 -q 80 设置质量的脚本现在必须使用 --quality 80 | 将 -q <number> 替换为 --quality <number> |
添加了 getwebp watch | Pro 用户的新命令 | 无需操作(添加性变更) |
| 免费层级限制从 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 计划已被停用。现在只有两个层级:Free 和 Pro。如果您之前有 Starter 许可证,它已被迁移到 Pro。
升级到 v1.2.0 后我的脚本崩溃了。为什么?#
v1.2.0 引入了三个影响脚本的破坏性更改:
- 退出代码被重新编号
--json输出格式从单个 JSON 对象更改为 NDJSON 流-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 以刷新本地令牌。
链接: