@wwkit/opm 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +381 -0
  2. package/bin/index.js +9 -0
  3. package/docs/managers/apt.md +45 -0
  4. package/docs/managers/brew.md +92 -0
  5. package/docs/managers/bun.md +50 -0
  6. package/docs/managers/cft.md +57 -0
  7. package/docs/managers/composer.md +96 -0
  8. package/docs/managers/config.md +32 -0
  9. package/docs/managers/dnf.md +46 -0
  10. package/docs/managers/node.md +49 -0
  11. package/docs/managers/npm.md +100 -0
  12. package/docs/managers/nvm.md +34 -0
  13. package/docs/managers/php.md +48 -0
  14. package/docs/managers/phpenv.md +34 -0
  15. package/docs/managers/pip.md +98 -0
  16. package/docs/managers/python.md +53 -0
  17. package/docs/managers/uv.md +27 -0
  18. package/docs/opm.html +570 -0
  19. package/docs/packages/opencode.md +41 -0
  20. package/package.json +51 -0
  21. package/scripts/postinstall.js +7 -0
  22. package/src/binaries/base.js +508 -0
  23. package/src/binaries/cft/index.js +35 -0
  24. package/src/binaries/depchecker.js +172 -0
  25. package/src/binaries/exefinder.js +110 -0
  26. package/src/binaries/platform.js +17 -0
  27. package/src/cli/doc.js +335 -0
  28. package/src/cli/groups/config.js +78 -0
  29. package/src/cli/groups/ensure.js +96 -0
  30. package/src/cli/groups/homebrew.js +73 -0
  31. package/src/cli/groups/nvm.js +73 -0
  32. package/src/cli/groups/package.js +514 -0
  33. package/src/cli/groups/phpenv.js +89 -0
  34. package/src/cli/groups/uv.js +73 -0
  35. package/src/cli/groups/version-manager.js +186 -0
  36. package/src/cli/helpers/args.js +49 -0
  37. package/src/cli/index.js +129 -0
  38. package/src/config.js +133 -0
  39. package/src/config.json5 +158 -0
  40. package/src/formatter.js +13 -0
  41. package/src/harnesses/base.js +205 -0
  42. package/src/harnesses/opencode/clear.js +239 -0
  43. package/src/harnesses/opencode/db.js +39 -0
  44. package/src/harnesses/opencode/index.js +46 -0
  45. package/src/harnesses/opencode/sqlite.js +200 -0
  46. package/src/index.js +46 -0
  47. package/src/managers/apt.js +377 -0
  48. package/src/managers/base.js +167 -0
  49. package/src/managers/brew.js +374 -0
  50. package/src/managers/bun.js +342 -0
  51. package/src/managers/composer.js +280 -0
  52. package/src/managers/dnf.js +370 -0
  53. package/src/managers/http.js +432 -0
  54. package/src/managers/node.js +150 -0
  55. package/src/managers/npm.js +473 -0
  56. package/src/managers/php.js +157 -0
  57. package/src/managers/pip.js +555 -0
  58. package/src/managers/python.js +180 -0
  59. package/src/managers/runtime.js +309 -0
  60. package/src/managers/winget.js +268 -0
  61. package/src/presets.js +24 -0
  62. package/src/proxy-presets.js +12 -0
@@ -0,0 +1,96 @@
1
+ # composer 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令与 Composer(PHP)原始命令的映射关系。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm composer version` | `composer --version` | 查看 composer 本身版本 |
10
+ | `opm composer registry` | 读 `~/.config/opm/config.json5` 的 `composer.registry.active` | 查询配置中的激活镜像(不读系统配置) |
11
+ | `opm composer registry set <url\|preset>` | 写 `~/.config/opm/config.json5` 的 `composer.registry.active` | 设置激活镜像(支持预设名;镜像作用于 search/info/versions 的 P2 元数据拉取) |
12
+ | `opm composer registry presets` | — | 列出可用镜像预设 |
13
+ | `opm composer search <name>` | `{registry}/p2/{name}.json` | 查询包在源是否可用(返回最新版本 + 版本列表) |
14
+ | `opm composer search <name> <version>` | `{registry}/p2/{name}.json` | 查询指定版本是否可用 |
15
+ | `opm composer view <name>` | 读 `vendor/composer/installed.json` | 查询包是否已安装(项目本地) |
16
+ | `opm composer info <name>` | `{registry}/p2/{name}.json` | 查询包详情(描述/作者/主页/许可证等) |
17
+ | `opm composer versions <name>` | `{registry}/p2/{name}.json` | 列出所有可用版本 |
18
+ | `opm composer list` | 读 `vendor/composer/installed.json` | 列出所有已安装包 |
19
+ | `opm composer outdated` | `composer outdated --format=json` | 列出过期包 |
20
+ | `opm composer install <name>` | `composer require <name> --no-interaction` | 安装包 |
21
+ | `opm composer install <name> <version>` | `composer require <name>:<version> --no-interaction` | 安装指定版本约束 |
22
+ | `opm composer uninstall <name>` | `composer remove <name> --no-interaction` | 卸载包 |
23
+ | `opm composer upgrade <name>` | `composer update <name> --no-interaction` | 升级包 |
24
+ | `opm composer cache clean` | `composer clear-cache` | 清理缓存 |
25
+ | `opm composer help` | — | 显示 composer 命令清单 |
26
+
27
+ ## 镜像预设
28
+
29
+ | 预设名 | 地址 |
30
+ |--------|------|
31
+ | `official` | `https://repo.packagist.org` |
32
+ | `aliyun` | `https://mirrors.aliyun.com/composer` |
33
+ | `tencent` | `https://mirrors.cloud.tencent.com/composer` |
34
+
35
+ > 镜像作用于 search/info/versions 的 Packagist P2 元数据拉取(`{base}/p2/{vendor}/{package}.json`)。
36
+ > install/upgrade 使用 composer CLI 自身的仓库配置(项目 composer.json / 全局 config)。
37
+
38
+ ## 选项
39
+
40
+ | 选项 | 说明 |
41
+ |------|------|
42
+ | `-h, --help` | 显示帮助 |
43
+
44
+ > 所有命令默认以 JSON 格式输出。
45
+
46
+ ## 示例
47
+
48
+ ```bash
49
+ # 查看 composer 版本
50
+ opm composer version
51
+
52
+ # 查询当前镜像
53
+ opm composer registry
54
+
55
+ # 切换到阿里云镜像
56
+ opm composer registry set aliyun
57
+
58
+ # 查询 monolog/monolog 是否在源中可用
59
+ opm composer search monolog/monolog
60
+
61
+ # 查询 monolog/monolog:3.9.0 是否可用
62
+ opm composer search monolog/monolog 3.9.0
63
+
64
+ # 查看 monolog/monolog 是否已安装
65
+ opm composer view monolog/monolog
66
+
67
+ # 查看 monolog/monolog 详情
68
+ opm composer info monolog/monolog
69
+
70
+ # 列出 monolog/monolog 所有可用版本
71
+ opm composer versions monolog/monolog
72
+
73
+ # 列出所有已安装包
74
+ opm composer list
75
+
76
+ # 列出过期包
77
+ opm composer outdated
78
+
79
+ # 安装 monolog/monolog
80
+ opm composer install monolog/monolog
81
+
82
+ # 安装指定版本约束
83
+ opm composer install monolog/monolog ^3.0
84
+
85
+ # 卸载 monolog/monolog
86
+ opm composer uninstall monolog/monolog
87
+
88
+ # 升级 monolog/monolog
89
+ opm composer upgrade monolog/monolog
90
+
91
+ # 清理缓存
92
+ opm composer cache clean
93
+
94
+ # 显示帮助
95
+ opm composer help
96
+ ```
@@ -0,0 +1,32 @@
1
+ # config 命令对照
2
+
3
+ `@wwkit/opm` 统一命令查看合并后的用户配置。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 说明 |
8
+ |---------|------|
9
+ | `opm config` | 显示合并后的完整配置(内置默认 → 用户 `~/.config/opm/config.json5` → `OPM_CONFIG_CONTENT`) |
10
+ | `opm config proxy` | 查看代理预设 + `active`(空 = 不使用代理) |
11
+ | `opm config <section>` | 查看任意段(如 `npm` / `npm.registry` / `composer` / `composer.registry`) |
12
+ | `opm config <未知段>` | 报错并列出全部可用段名 |
13
+
14
+ > 可用段名由合并配置动态生成:每个 top-level 段 + 含 `registry` 的 `.registry` 子段。新增配置段无需改动代码。
15
+
16
+ ## 配置合并顺序(低 → 高)
17
+
18
+ 1. 内置默认 `src/config.json5`
19
+ 2. 用户文件 `~/.config/opm/config.json5`(或 `$XDG_CONFIG_HOME/opm/config.json5`)
20
+ 3. `OPM_CONFIG_CONTENT` 环境变量注入层
21
+
22
+ 字符串中的 `{env:XXX}` 占位符会在读取时替换为环境变量。
23
+
24
+ ## 示例
25
+
26
+ ```bash
27
+ opm config
28
+ opm config proxy
29
+ opm config npm.registry
30
+ opm config node.registry
31
+ opm config python.registry
32
+ ```
@@ -0,0 +1,46 @@
1
+ # dnf 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令管理 dnf 包(Fedora / RHEL / EulerOS 等 rpm 系,系统级)。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm dnf version` | `dnf --version` | 查看 dnf 版本 |
10
+ | `opm dnf registry` | 读 `/etc/yum.repos.d/opm.repo` | 查询当前启用仓库 |
11
+ | `opm dnf registry set <url\|preset>` | 写 `/etc/yum.repos.d/opm.repo` + `dnf clean` | 设置镜像仓库 |
12
+ | `opm dnf registry presets` | — | 列出可用镜像预设 |
13
+ | `opm dnf search <name>` | `dnf search` | 查询包在源是否可用 |
14
+ | `opm dnf view <name>` | `dnf list installed` | 查询包是否已安装 |
15
+ | `opm dnf info <name>` | `dnf info` | 包详情 |
16
+ | `opm dnf versions <name>` | `dnf list --showduplicates` | 所有可用版本 |
17
+ | `opm dnf list` | `dnf list installed` | 已安装包列表 |
18
+ | `opm dnf outdated` | `dnf check-update` | 过期包 |
19
+ | `opm dnf install <name>` | `dnf install` | 安装 |
20
+ | `opm dnf uninstall <name>` | `dnf remove` | 卸载 |
21
+ | `opm dnf upgrade <name>` | `dnf upgrade` | 升级 |
22
+ | `opm dnf cache clean` | `dnf clean all` | 清理缓存 |
23
+
24
+ ## 镜像预设
25
+
26
+ | 预设名 | 地址 |
27
+ |--------|------|
28
+ | `hce` | `http://his-mirrors.huawei.com/install/hce/2.0/os/x86_64/` |
29
+ | `hce-updates` | `http://his-mirrors.huawei.com/install/hce/2.0/updates/x86_64/` |
30
+ | `fedora` | `https://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/` |
31
+ | `fedora-updates` | `https://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Everything/$basearch/` |
32
+ | `epel` | `https://dl.fedoraproject.org/pub/epel/$releasever/Everything/$basearch/` |
33
+ | `epel-testing` | `https://dl.fedoraproject.org/pub/epel/testing/$releasever/Everything/$basearch/` |
34
+
35
+ ## 示例
36
+
37
+ ```bash
38
+ opm dnf version
39
+ opm dnf registry set hce-updates
40
+ opm dnf search vim-enhanced
41
+ opm dnf info vim-enhanced
42
+ opm dnf install htop
43
+ opm dnf uninstall htop
44
+ opm dnf upgrade htop
45
+ opm dnf cache clean
46
+ ```
@@ -0,0 +1,49 @@
1
+ # node 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令通过 nvm 管理 Node.js 版本。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm node version` | `nvm current` | 当前激活的 Node.js 版本 |
10
+ | `opm node registry` | 读 `~/.config/opm/config.json5` 的 `node.registry.active` | 查询 Node.js dist 镜像 |
11
+ | `opm node registry set <url\|preset>` | 写 `~/.config/opm/config.json5` | 设置 Node.js dist 镜像(传给 `NVM_NODEJS_ORG_MIRROR`) |
12
+ | `opm node registry presets` | — | 列出可用镜像预设 |
13
+ | `opm node search <version>` | `nvm ls-remote` 过滤 | 查询版本是否可下载 |
14
+ | `opm node view <version>` | `nvm ls` 过滤 | 查询版本是否已安装 |
15
+ | `opm node versions` | `nvm ls-remote` | 列出所有可用版本 |
16
+ | `opm node list` | `nvm ls` | 列出已安装版本 |
17
+ | `opm node install <version>` | `nvm install <version>` | 安装 Node.js 版本 |
18
+ | `opm node uninstall <version>` | `nvm uninstall <version>` | 卸载 Node.js 版本 |
19
+ | `opm node upgrade` | `nvm install --lts` | 安装最新 LTS |
20
+ | `opm node use <version>` | `nvm use <version>` | 切换当前版本 |
21
+ | `opm node current` | `nvm current` | 显示当前版本 |
22
+ | `opm node default <version>` | `nvm alias default <version>` | 设置默认版本 |
23
+
24
+ ## 镜像预设
25
+
26
+ | 预设名 | 地址 |
27
+ |--------|------|
28
+ | `official` | `https://nodejs.org/dist` |
29
+ | `taobao` | `https://npmmirror.com/mirrors/node` |
30
+ | `tsinghua` | `https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/` |
31
+
32
+ > 镜像通过 `NVM_NODEJS_ORG_MIRROR` 环境变量传递给 nvm install。
33
+
34
+ ## 示例
35
+
36
+ ```bash
37
+ opm node current
38
+ opm node version
39
+ opm node list
40
+ opm node versions
41
+ opm node install 20
42
+ opm node install --lts
43
+ opm node use 20
44
+ opm node default 20
45
+ opm node search v20.20.2
46
+ opm node view v20.20.2
47
+ opm node uninstall 18
48
+ opm node upgrade
49
+ ```
@@ -0,0 +1,100 @@
1
+ # npm 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令与 npm 原始命令的映射关系。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm npm version` | `npm --version` | 查看 npm 本身版本 |
10
+ | `opm npm registry` | 读 `~/.config/opm/config.json5` 的 `npm.registry.active` | 查询配置中的激活镜像(不读系统配置) |
11
+ | `opm npm registry set <url\|preset>` | 写 `~/.config/opm/config.json5` 的 `npm.registry.active` | 设置激活镜像(支持预设名,install/upgrade 自动带 `--registry`) |
12
+ | `opm npm registry presets` | — | 列出可用镜像预设 |
13
+ | `opm npm search <name>` | `npm view <name>` | 查询包在源是否可用(返回最新版本 + 版本列表) |
14
+ | `opm npm search <name> <version>` | `npm view <name>@<version>` | 查询指定版本是否可用 |
15
+ | `opm npm view <name>` | `npm list <name>` / 读 `node_modules/<name>/package.json` | 查询包是否已安装 |
16
+ | `opm npm info <name>` | `npm view <name>` | 查询包详情(描述/作者/主页/许可证等) |
17
+ | `opm npm versions <name>` | `npm view <name> versions` | 列出所有可用版本 |
18
+ | `opm npm list` | `npm list --depth=0` | 列出所有已安装包 |
19
+ | `opm npm outdated` | `npm outdated` | 列出过期包 |
20
+ | `opm npm install <name>` | `npm install <name>` | 安装包 |
21
+ | `opm npm install <name> <version>` | `npm install <name>@<version>` | 安装指定版本 |
22
+ | `opm npm install -g <name>` | `npm install -g <name>` | 全局安装 |
23
+ | `opm npm uninstall <name>` | `npm uninstall <name>` | 卸载包 |
24
+ | `opm npm uninstall -g <name>` | `npm uninstall -g <name>` | 全局卸载 |
25
+ | `opm npm upgrade <name>` | `npm install <name>@latest` | 升级包到最新版本 |
26
+ | `opm npm upgrade -g <name>` | `npm install -g <name>@latest` | 全局升级 |
27
+ | `opm npm cache clean` | `npm cache clean --force` | 清理缓存 |
28
+ | `opm npm help` | — | 显示 npm 命令清单 |
29
+
30
+ ## 镜像预设
31
+
32
+ | 预设名 | 地址 |
33
+ |--------|------|
34
+ | `official` | `https://registry.npmjs.org/` |
35
+ | `taobao` | `https://registry.npmmirror.com/` |
36
+ | `huawei` | `https://cmc.centralrepo.rnd.huawei.com/artifactory/api/npm/npm-central-repo/` |
37
+
38
+ ## 选项
39
+
40
+ | 选项 | 说明 |
41
+ |------|------|
42
+ | `-g, --global` | 全局操作(仅 install/uninstall/upgrade) |
43
+ | `-h, --help` | 显示帮助 |
44
+
45
+ > 所有命令默认以 JSON 格式输出。
46
+
47
+ ## 示例
48
+
49
+ ```bash
50
+ # 查看 npm 版本
51
+ opm npm version
52
+
53
+ # 查询当前镜像
54
+ opm npm registry
55
+
56
+ # 切换到淘宝镜像
57
+ opm npm registry set taobao
58
+
59
+ # 查询 axios 是否在源中可用
60
+ opm npm search axios
61
+
62
+ # 查询 axios@1.7.9 是否可用
63
+ opm npm search axios 1.7.9
64
+
65
+ # 查看 axios 是否已安装
66
+ opm npm view axios
67
+
68
+ # 查看 axios 详情
69
+ opm npm info axios
70
+
71
+ # 列出 axios 所有版本
72
+ opm npm versions axios
73
+
74
+ # 列出所有已安装包
75
+ opm npm list
76
+
77
+ # 列出过期包
78
+ opm npm outdated
79
+
80
+ # 安装 axios
81
+ opm npm install axios
82
+
83
+ # 安装 axios@1.7.9
84
+ opm npm install axios 1.7.9
85
+
86
+ # 全局安装 typescript
87
+ opm npm install -g typescript
88
+
89
+ # 卸载 axios
90
+ opm npm uninstall axios
91
+
92
+ # 升级 axios
93
+ opm npm upgrade axios
94
+
95
+ # 清理缓存
96
+ opm npm cache clean
97
+
98
+ # 显示帮助
99
+ opm npm help
100
+ ```
@@ -0,0 +1,34 @@
1
+ # nvm 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令管理 nvm 自身(安装/升级/卸载)。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm nvm version` | `nvm --version` | 查看 nvm 版本 |
10
+ | `opm nvm registry` | 读 `~/.config/opm/config.json5` 的 `nvm.registry.active` | 查询 nvm git 镜像 |
11
+ | `opm nvm registry set <url\|preset>` | 写 `~/.config/opm/config.json5` | 设置 nvm git 镜像 |
12
+ | `opm nvm registry presets` | — | 列出可用镜像预设 |
13
+ | `opm nvm install` | `git clone <mirror> ~/.nvm` + 写 shell profile | 安装 nvm |
14
+ | `opm nvm upgrade` | `cd ~/.nvm && git pull --tags` | 更新 nvm |
15
+ | `opm nvm uninstall` | `rm -rf ~/.nvm` | 卸载 nvm |
16
+ | `opm nvm dir` | 返回 `~/.nvm` 安装目录 |
17
+
18
+ ## 镜像预设
19
+
20
+ | 预设名 | 地址 |
21
+ |--------|------|
22
+ | `official` | `https://github.com/nvm-sh/nvm.git` |
23
+ | `gitee` | `https://gitee.com/mirrors/nvm.git` |
24
+
25
+ ## 示例
26
+
27
+ ```bash
28
+ opm nvm version
29
+ opm nvm registry set gitee
30
+ opm nvm install
31
+ opm nvm upgrade
32
+ opm nvm dir
33
+ opm nvm uninstall
34
+ ```
@@ -0,0 +1,48 @@
1
+ # php 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令通过 phpenv 管理 PHP 版本。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm php version` | `phpenv version` | 当前激活的 PHP 版本 |
10
+ | `opm php registry` | 读 `~/.config/opm/config.json5` 的 `php.registry.active` | 查询 PHP dist 镜像 |
11
+ | `opm php registry set <url\|preset>` | 写 `~/.config/opm/config.json5` | 设置 PHP dist 镜像(传给 `PHP_BUILD_MIRROR_URL`) |
12
+ | `opm php registry presets` | — | 列出可用镜像预设 |
13
+ | `opm php search <version>` | `phpenv install --list` 过滤 | 查询版本是否可下载 |
14
+ | `opm php view <version>` | `phpenv versions` 过滤 | 查询版本是否已安装 |
15
+ | `opm php versions` | `phpenv install --list` | 列出所有可用版本 |
16
+ | `opm php list` | `phpenv versions` | 列出已安装版本 |
17
+ | `opm php install <version>` | `phpenv install <version>` | 安装 PHP 版本 |
18
+ | `opm php uninstall <version>` | `phpenv uninstall <version>` | 卸载 PHP 版本 |
19
+ | `opm php upgrade` | `phpenv install <latest>` | 安装最新版本 |
20
+ | `opm php use <version>` | `phpenv global <version>` | 切换当前版本 |
21
+ | `opm php current` | `phpenv version` | 显示当前版本 |
22
+ | `opm php default <version>` | `phpenv global <version>` | 设置默认版本 |
23
+
24
+ ## 镜像预设
25
+
26
+ | 预设名 | 地址 |
27
+ |--------|------|
28
+ | `official` | `https://www.php.net/distributions` |
29
+ | `tsinghua` | `https://mirrors.tuna.tsinghua.edu.cn/php` |
30
+ | `ustc` | `https://mirrors.ustc.edu.cn/php` |
31
+
32
+ > 镜像通过 `PHP_BUILD_MIRROR_URL` 环境变量传递给 php-build。
33
+
34
+ ## 示例
35
+
36
+ ```bash
37
+ opm php current
38
+ opm php version
39
+ opm php list
40
+ opm php versions
41
+ opm php install 8.3
42
+ opm php use 8.3
43
+ opm php default 8.3
44
+ opm php search 8.3.13
45
+ opm php view 8.3.13
46
+ opm php uninstall 8.2
47
+ opm php upgrade
48
+ ```
@@ -0,0 +1,34 @@
1
+ # phpenv 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令管理 phpenv 自身(安装/升级/卸载)。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm phpenv version` | `phpenv --version` | 查看 phpenv 版本 |
10
+ | `opm phpenv registry` | 读 `~/.config/opm/config.json5` 的 `phpenv.registry.active` | 查询 phpenv git 镜像 |
11
+ | `opm phpenv registry set <url\|preset>` | 写 `~/.config/opm/config.json5` | 设置 phpenv git 镜像 |
12
+ | `opm phpenv registry presets` | — | 列出可用镜像预设 |
13
+ | `opm phpenv install` | `git clone <mirror> ~/.phpenv` + `git clone php-build` + 写 shell profile | 安装 phpenv + php-build 插件 |
14
+ | `opm phpenv upgrade` | `cd ~/.phpenv && git pull` + `cd plugins/php-build && git pull` | 更新 phpenv + php-build |
15
+ | `opm phpenv uninstall` | `rm -rf ~/.phpenv` | 卸载 phpenv |
16
+ | `opm phpenv dir` | 返回 `~/.phpenv` 安装目录 |
17
+
18
+ ## 镜像预设
19
+
20
+ | 预设名 | 地址 |
21
+ |--------|------|
22
+ | `official` | `https://github.com/phpenv/phpenv.git` |
23
+ | `gitee` | `https://gitee.com/mirrors/phpenv.git` |
24
+
25
+ ## 示例
26
+
27
+ ```bash
28
+ opm phpenv version
29
+ opm phpenv registry set gitee
30
+ opm phpenv install
31
+ opm phpenv upgrade
32
+ opm phpenv dir
33
+ opm phpenv uninstall
34
+ ```
@@ -0,0 +1,98 @@
1
+ # pip 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令与 pip 原始命令的映射关系。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm pip version` | `pip --version` | 查看 pip 本身版本 |
10
+ | `opm pip registry` | 读 `~/.config/opm/config.json5` 的 `pip.registry.active` | 查询配置中的激活镜像(不读系统配置) |
11
+ | `opm pip registry set <url\|preset>` | 写 `~/.config/opm/config.json5` 的 `pip.registry.active` | 设置激活镜像(支持预设名,install/upgrade 自动带 `--index-url`) |
12
+ | `opm pip registry presets` | — | 列出可用镜像预设 |
13
+ | `opm pip search <name>` | PyPI JSON API / simple index | 查询包在源是否可用(返回最新版本 + 版本列表) |
14
+ | `opm pip search <name> <version>` | PyPI JSON API / simple index | 查询指定版本是否可用 |
15
+ | `opm pip view <name>` | `pip show <name>` | 查询包是否已安装 |
16
+ | `opm pip info <name>` | PyPI JSON API / `pip show <name>` | 查询包详情(描述/作者/主页/许可证等) |
17
+ | `opm pip versions <name>` | PyPI JSON API / simple index | 列出所有可用版本 |
18
+ | `opm pip list` | `pip list --format=freeze` | 列出所有已安装包 |
19
+ | `opm pip outdated` | `pip list --outdated` | 列出过期包 |
20
+ | `opm pip install <name>` | `pip install <name>` | 安装包 |
21
+ | `opm pip install <name> <version>` | `pip install <name>==<version>` | 安装指定版本 |
22
+ | `opm pip uninstall <name>` | `pip uninstall -y <name>` | 卸载包 |
23
+ | `opm pip upgrade <name>` | `pip install --upgrade <name>` | 升级包到最新版本 |
24
+ | `opm pip cache clean` | `pip cache purge` | 清理缓存 |
25
+ | `opm pip help` | — | 显示 pip 命令清单 |
26
+
27
+ ## 镜像预设
28
+
29
+ | 预设名 | 地址 |
30
+ |--------|------|
31
+ | `official` | `https://pypi.org/simple` |
32
+ | `tsinghua` | `https://pypi.tuna.tsinghua.edu.cn/simple` |
33
+ | `huawei` | `https://cmc.centralrepo.rnd.huawei.com/artifactory/api/pypi/pypi-repo/simple` |
34
+
35
+ ## 选项
36
+
37
+ | 选项 | 说明 |
38
+ |------|------|
39
+ | `-h, --help` | 显示帮助 |
40
+
41
+ > 所有命令默认以 JSON 格式输出。
42
+
43
+ ## 示例
44
+
45
+ ```bash
46
+ # 查看 pip 版本
47
+ opm pip version
48
+
49
+ # 查询当前镜像
50
+ opm pip registry
51
+
52
+ # 切换到清华镜像
53
+ opm pip registry set tsinghua
54
+
55
+ # 查询 requests 是否在源中可用
56
+ opm pip search requests
57
+
58
+ # 查询 requests==2.31.0 是否可用
59
+ opm pip search requests 2.31.0
60
+
61
+ # 查看 requests 是否已安装
62
+ opm pip view requests
63
+
64
+ # 查看 requests 详情
65
+ opm pip info requests
66
+
67
+ # 列出 requests 所有版本
68
+ opm pip versions requests
69
+
70
+ # 列出所有已安装包
71
+ opm pip list
72
+
73
+ # 列出过期包
74
+ opm pip outdated
75
+
76
+ # 安装 requests
77
+ opm pip install requests
78
+
79
+ # 安装 requests==2.31.0
80
+ opm pip install requests 2.31.0
81
+
82
+ # 卸载 requests
83
+ opm pip uninstall requests
84
+
85
+ # 升级 requests
86
+ opm pip upgrade requests
87
+
88
+ # 清理缓存
89
+ opm pip cache clean
90
+
91
+ # 显示帮助
92
+ opm pip help
93
+ ```
94
+
95
+ ## 技术说明
96
+
97
+ - **源查询**:优先使用 PyPI JSON API(`/pypi/<name>/json`),当镜像不支持 JSON API 时自动回退到 simple index HTML 解析
98
+ - **版本排序**:simple index 方式提取的版本使用内置版本比较算法排序,自动排除 dev/rc/alpha/beta 等预发布版本作为 latest
@@ -0,0 +1,53 @@
1
+ # python 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令通过 uv 管理 Python 版本。
4
+
5
+ ## 命令对照
6
+
7
+ | 统一命令 | 原始命令 | 说明 |
8
+ |---------|---------|------|
9
+ | `opm python version` | `python3 --version` | 当前 Python 版本 |
10
+ | `opm python registry` | 读 `~/.config/opm/config.json5` 的 `python.registry.active` | 查询 Python dist 镜像 |
11
+ | `opm python registry set <url\|preset>` | 写 `~/.config/opm/config.json5` | 设置 Python dist 镜像(传给 `UV_PYTHON_INSTALL_MIRROR`) |
12
+ | `opm python registry presets` | — | 列出可用镜像预设 |
13
+ | `opm python search <version>` | `uv python list` 过滤 | 查询版本是否可下载 |
14
+ | `opm python view <version>` | `uv python list --only-installed` 过滤 | 查询版本是否已安装 |
15
+ | `opm python versions` | `uv python list` | 列出所有可用版本 |
16
+ | `opm python list` | `uv python list --only-installed` | 列出已安装版本 |
17
+ | `opm python install <version>` | `uv python install <version>` | 安装 Python 版本 |
18
+ | `opm python uninstall <version>` | `uv python uninstall <version>` | 卸载 Python 版本 |
19
+ | `opm python upgrade` | `uv python install <latest>` | 安装最新版本 |
20
+ | `opm python use <version>` | `uv python pin <version>` | 固定当前目录 Python 版本 |
21
+ | `opm python current` | `python3 --version` | 显示当前版本 |
22
+ | `opm python default <version>` | 写 `~/.python-version` | 设置全局默认版本 |
23
+
24
+ ## 镜像预设
25
+
26
+ | 预设名 | 地址 |
27
+ |--------|------|
28
+ | `official` | `https://github.com/astral-sh/python-build-standalone/releases/download` |
29
+ | `ghproxy` | `https://ghproxy.com/https://github.com/astral-sh/python-build-standalone/releases/download` |
30
+
31
+ > 镜像通过 `UV_PYTHON_INSTALL_MIRROR` 环境变量传递给 uv。
32
+
33
+ ## 与 pip 的关系
34
+
35
+ - `opm pip` 保持独立,直接调用 pip CLI(不受 uv 影响)
36
+ - 如需使用 `uv pip`(更快的 pip 替代),请直接调用 `uv pip install/list/...`
37
+ - 两者可共存,互不干扰
38
+
39
+ ## 示例
40
+
41
+ ```bash
42
+ opm python current
43
+ opm python version
44
+ opm python list
45
+ opm python versions
46
+ opm python install 3.12
47
+ opm python use 3.12
48
+ opm python default 3.12
49
+ opm python search 3.12.4
50
+ opm python view 3.12.4
51
+ opm python uninstall 3.11
52
+ opm python upgrade
53
+ ```
@@ -0,0 +1,27 @@
1
+ # uv 命令对照表
2
+
3
+ `@wwkit/opm` 统一命令管理 uv 自身(安装/升级/卸载)。
4
+
5
+ uv 是 Astral 出品的快速 Python 包/版本管理器(Rust 实现),替代 pyenv + pip。
6
+
7
+ ## 命令对照
8
+
9
+ | 统一命令 | 原始命令 | 说明 |
10
+ |---------|---------|------|
11
+ | `opm uv version` | `uv --version` | 查看 uv 版本 |
12
+ | `opm uv install` | `curl -LsSf https://astral.sh/uv/install.sh \| sh` | 安装 uv |
13
+ | `opm uv upgrade` | `uv self update` | 更新 uv |
14
+ | `opm uv uninstall` | `rm ~/.local/bin/uv` + `rm -rf ~/.local/share/uv` | 卸载 uv |
15
+ | `opm uv dir` | 返回 uv 安装目录 |
16
+
17
+ > uv 无镜像源,故无 registry action。
18
+
19
+ ## 示例
20
+
21
+ ```bash
22
+ opm uv version
23
+ opm uv install
24
+ opm uv upgrade
25
+ opm uv dir
26
+ opm uv uninstall
27
+ ```