sdkvm 1.0.1 → 1.0.3
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.
- package/README.en.md +39 -30
- package/README.md +39 -30
- package/dist/index.js +3651 -173
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -69,22 +69,11 @@ Platform limits:
|
|
|
69
69
|
|
|
70
70
|
## Install
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
**Prefer the install script**: no preinstalled Node.js, an isolated runtime for the CLI, data and entrypoint under `SDKVM_HOME` (default `~/.sdkvm`), and upgrades via `sdkvm upgrade`.
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
### Install script (recommended)
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
npm install -g sdkvm
|
|
78
|
-
pnpm add -g sdkvm
|
|
79
|
-
yarn global add sdkvm
|
|
80
|
-
bun add -g sdkvm
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
The CLI then runs on whatever `node` is first on `PATH`. Switching to a Node older than 18.15 stops the CLI until you switch back.
|
|
84
|
-
|
|
85
|
-
### Install script
|
|
86
|
-
|
|
87
|
-
No preinstalled Node.js is required. A GitHub Release that already contains `sdkvm.tgz` and `SHA256SUMS` is required (uploaded by CI after a `v*` tag).
|
|
76
|
+
Requires a [GitHub Release](https://github.com/QInJ1995/sdkvm/releases) that already contains `sdkvm.tgz` and `SHA256SUMS` (uploaded by CI after a `v*` tag).
|
|
88
77
|
|
|
89
78
|
macOS / Linux:
|
|
90
79
|
|
|
@@ -100,33 +89,51 @@ irm https://raw.githubusercontent.com/QInJ1995/sdkvm/main/install.ps1 | iex
|
|
|
100
89
|
|
|
101
90
|
The script:
|
|
102
91
|
|
|
103
|
-
1. Downloads Node.js 22.20.0 into
|
|
104
|
-
2. Downloads `sdkvm.tgz` from the GitHub Release, checks SHA-256, and extracts it to
|
|
105
|
-
3. Writes
|
|
92
|
+
1. Downloads Node.js 22.20.0 into `$SDKVM_HOME/runtime` (CLI only; `sdkvm node use` does not change it).
|
|
93
|
+
2. Downloads `sdkvm.tgz` from the GitHub Release, checks SHA-256, and extracts it to `$SDKVM_HOME/cli`.
|
|
94
|
+
3. Writes `$SDKVM_HOME/bin/sdkvm` (on Windows, `%SDKVM_HOME%\bin\sdkvm.cmd`) and adds that directory to the shell profile / user PATH (zsh → `~/.zshrc`, bash → `~/.bash_profile` or `~/.bashrc`).
|
|
95
|
+
|
|
96
|
+
Then open a new terminal, or `source` the rc file, and check:
|
|
97
|
+
|
|
98
|
+
```console
|
|
99
|
+
$ sdkvm version
|
|
100
|
+
1.0.3
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
To use a custom data root, **pass `SDKVM_HOME` on the install command itself** (`curl | sh` does not read `~/.zshrc`):
|
|
106
104
|
|
|
107
|
-
|
|
105
|
+
```sh
|
|
106
|
+
SDKVM_HOME=/Volumes/Develop/sdkvm \
|
|
107
|
+
curl -fsSL https://raw.githubusercontent.com/QInJ1995/sdkvm/main/install.sh | sh
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Override download prefixes when needed:
|
|
108
111
|
|
|
109
112
|
```sh
|
|
110
113
|
SDKVM_NODE_DIST=https://npmmirror.com/mirrors/node \
|
|
111
114
|
SDKVM_RELEASE_BASE=https://github.com/QInJ1995/sdkvm/releases \
|
|
112
|
-
|
|
115
|
+
curl -fsSL https://raw.githubusercontent.com/QInJ1995/sdkvm/main/install.sh | sh
|
|
113
116
|
```
|
|
114
117
|
|
|
115
|
-
|
|
118
|
+
### npm / pnpm / yarn / bun (alternative)
|
|
116
119
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
Use this when Node.js >= 18.15 is already installed and you want the package manager to own global tools. The CLI follows the `node` on `PATH`; a Node older than 18.15 can stop the CLI.
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
npm install -g sdkvm
|
|
124
|
+
pnpm add -g sdkvm
|
|
125
|
+
yarn global add sdkvm
|
|
126
|
+
bun add -g sdkvm
|
|
120
127
|
```
|
|
121
128
|
|
|
122
129
|
## Upgrade
|
|
123
130
|
|
|
124
131
|
| Install method | Command | What changes |
|
|
125
132
|
|---|---|---|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
133
|
+
| Script (recommended) | `sdkvm upgrade` | Replaces `$SDKVM_HOME/cli` only. The runtime and installed SDKs stay |
|
|
134
|
+
| npm and friends | `npm update -g sdkvm` | CLI only. pnpm / yarn / bun use their own global update command |
|
|
128
135
|
|
|
129
|
-
|
|
136
|
+
The data directory is independent of a CLI upgrade. A script install can also be refreshed by running the install script again.
|
|
130
137
|
|
|
131
138
|
## Quick start
|
|
132
139
|
|
|
@@ -353,6 +360,7 @@ The data root is `~/.sdkvm` (`%USERPROFILE%\.sdkvm` on Windows). `SDKVM_HOME` ov
|
|
|
353
360
|
├── current-node
|
|
354
361
|
├── runtime/ # Script-install Node, isolated from current-node
|
|
355
362
|
├── cli/ # Script-install CLI package
|
|
363
|
+
├── bin/ # Script-install entrypoint sdkvm (add to PATH)
|
|
356
364
|
├── config.json
|
|
357
365
|
├── cache/ # Download staging, removed after a successful install
|
|
358
366
|
└── tmp/ # Extract staging, also removed
|
|
@@ -552,11 +560,10 @@ pnpm, yarn, and bun use their own global uninstall command.
|
|
|
552
560
|
A script install removes the shim and the CLI runtime. Installed SDKs stay:
|
|
553
561
|
|
|
554
562
|
```sh
|
|
555
|
-
rm -
|
|
556
|
-
rm -rf ~/.sdkvm/cli ~/.sdkvm/runtime
|
|
563
|
+
rm -rf ~/.sdkvm/bin ~/.sdkvm/cli ~/.sdkvm/runtime
|
|
557
564
|
```
|
|
558
565
|
|
|
559
|
-
On Windows, delete `%USERPROFILE%\.
|
|
566
|
+
On Windows, delete `%USERPROFILE%\.sdkvm\bin\sdkvm.cmd`, plus `%USERPROFILE%\.sdkvm\cli` and `%USERPROFILE%\.sdkvm\runtime`, and remove `%USERPROFILE%\.sdkvm\bin` from the user PATH.
|
|
560
567
|
|
|
561
568
|
After you no longer need the installed JDKs, Go, Flutter, and Node.js, remove the data directory:
|
|
562
569
|
|
|
@@ -564,7 +571,9 @@ After you no longer need the installed JDKs, Go, Flutter, and Node.js, remove th
|
|
|
564
571
|
rm -rf ~/.sdkvm
|
|
565
572
|
```
|
|
566
573
|
|
|
567
|
-
Also delete
|
|
574
|
+
Also delete these shell blocks:
|
|
575
|
+
- `# >>> sdkvm path >>>` … `# <<< sdkvm path <<<`
|
|
576
|
+
- each SDK’s `>>> sdkvm java|go|flutter|node init >>>` … `<<< … <<<`
|
|
568
577
|
|
|
569
578
|
On Windows, remove `JAVA_HOME`, `GO_HOME`, `FLUTTER_HOME`, and `NODE_HOME` from the user environment, and remove `%JAVA_HOME%\bin`, `%GO_HOME%\bin`, `%FLUTTER_HOME%\bin`, and `%NODE_HOME%` from the user PATH.
|
|
570
579
|
|
package/README.md
CHANGED
|
@@ -69,22 +69,11 @@
|
|
|
69
69
|
|
|
70
70
|
## 安装
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
**推荐使用安装脚本**:无需本机预装 Node.js,CLI 自带隔离运行时,数据与入口都在 `SDKVM_HOME`(默认 `~/.sdkvm`)下,升级用 `sdkvm upgrade` 即可。
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
### 安装脚本(推荐)
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
npm install -g sdkvm
|
|
78
|
-
pnpm add -g sdkvm
|
|
79
|
-
yarn global add sdkvm
|
|
80
|
-
bun add -g sdkvm
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
装好后 CLI 使用 `PATH` 上的 `node`。若之后切到 18.15 以前的 Node,CLI 会无法启动,切回较新版本即可。
|
|
84
|
-
|
|
85
|
-
### 安装脚本
|
|
86
|
-
|
|
87
|
-
不要求本机已经安装 Node.js。需要仓库已有带 `sdkvm.tgz` 与 `SHA256SUMS` 的 GitHub Release(打 `v*` tag 后由 CI 上传)。
|
|
76
|
+
需要仓库已有带 `sdkvm.tgz` 与 `SHA256SUMS` 的 [GitHub Release](https://github.com/QInJ1995/sdkvm/releases)(打 `v*` tag 后由 CI 上传)。
|
|
88
77
|
|
|
89
78
|
macOS / Linux:
|
|
90
79
|
|
|
@@ -100,33 +89,51 @@ irm https://raw.githubusercontent.com/QInJ1995/sdkvm/main/install.ps1 | iex
|
|
|
100
89
|
|
|
101
90
|
脚本会:
|
|
102
91
|
|
|
103
|
-
1. 下载 Node.js 22.20.0 到
|
|
104
|
-
2. 从 GitHub Release 下载 `sdkvm.tgz`,校验 SHA-256 后解压到
|
|
105
|
-
3. 写入
|
|
92
|
+
1. 下载 Node.js 22.20.0 到 `$SDKVM_HOME/runtime`(仅启动 CLI,`sdkvm node use` 不会改到它)。
|
|
93
|
+
2. 从 GitHub Release 下载 `sdkvm.tgz`,校验 SHA-256 后解压到 `$SDKVM_HOME/cli`。
|
|
94
|
+
3. 写入 `$SDKVM_HOME/bin/sdkvm`(Windows 为 `%SDKVM_HOME%\bin\sdkvm.cmd`),并把该目录写入 shell 配置 / 用户 PATH(zsh→`~/.zshrc`,bash→`~/.bash_profile` 或 `~/.bashrc`)。
|
|
95
|
+
|
|
96
|
+
装完后重开终端,或 `source` 对应 rc,再验证:
|
|
97
|
+
|
|
98
|
+
```console
|
|
99
|
+
$ sdkvm version
|
|
100
|
+
1.0.3
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
自定义数据根时,**必须在安装命令的环境里带上** `SDKVM_HOME`(`curl | sh` 不会读取 `~/.zshrc`):
|
|
106
104
|
|
|
107
|
-
|
|
105
|
+
```sh
|
|
106
|
+
SDKVM_HOME=/Volumes/Develop/sdkvm \
|
|
107
|
+
curl -fsSL https://raw.githubusercontent.com/QInJ1995/sdkvm/main/install.sh | sh
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
国内可换下载前缀:
|
|
108
111
|
|
|
109
112
|
```sh
|
|
110
113
|
SDKVM_NODE_DIST=https://npmmirror.com/mirrors/node \
|
|
111
114
|
SDKVM_RELEASE_BASE=https://github.com/QInJ1995/sdkvm/releases \
|
|
112
|
-
|
|
115
|
+
curl -fsSL https://raw.githubusercontent.com/QInJ1995/sdkvm/main/install.sh | sh
|
|
113
116
|
```
|
|
114
117
|
|
|
115
|
-
|
|
118
|
+
### npm / pnpm / yarn / bun(备选)
|
|
116
119
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
适合本机已有 Node.js >= 18.15、且希望用包管理器统一管理全局工具的场景。CLI 依赖 `PATH` 上的 `node`;若之后切到 18.15 以前的 Node,CLI 可能无法启动。
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
npm install -g sdkvm
|
|
124
|
+
pnpm add -g sdkvm
|
|
125
|
+
yarn global add sdkvm
|
|
126
|
+
bun add -g sdkvm
|
|
120
127
|
```
|
|
121
128
|
|
|
122
129
|
## 升级
|
|
123
130
|
|
|
124
131
|
| 安装方式 | 命令 | 影响范围 |
|
|
125
132
|
|---|---|---|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
133
|
+
| 脚本(推荐) | `sdkvm upgrade` | 只替换 `$SDKVM_HOME/cli`。runtime 与已安装的 SDK 保持不变 |
|
|
134
|
+
| npm 等 | `npm update -g sdkvm` | 只更新 CLI。pnpm / yarn / bun 用各自的全局更新命令 |
|
|
128
135
|
|
|
129
|
-
|
|
136
|
+
数据目录与 CLI 升级无关。脚本安装也可以重新执行安装脚本。
|
|
130
137
|
|
|
131
138
|
## 快速开始
|
|
132
139
|
|
|
@@ -353,6 +360,7 @@ sdkvm nrm test
|
|
|
353
360
|
├── current-node
|
|
354
361
|
├── runtime/ # 脚本安装的 CLI 运行时,与 current-node 隔离
|
|
355
362
|
├── cli/ # 脚本安装的 CLI 包
|
|
363
|
+
├── bin/ # 脚本安装的入口 sdkvm(需加入 PATH)
|
|
356
364
|
├── config.json
|
|
357
365
|
├── cache/ # 下载中转,安装成功后删除
|
|
358
366
|
└── tmp/ # 解压临时目录,同样会删除
|
|
@@ -552,11 +560,10 @@ pnpm、yarn、bun 使用各自的全局卸载命令。
|
|
|
552
560
|
脚本安装只删除 shim 和 CLI 运行时,已安装的 SDK 还在:
|
|
553
561
|
|
|
554
562
|
```sh
|
|
555
|
-
rm -
|
|
556
|
-
rm -rf ~/.sdkvm/cli ~/.sdkvm/runtime
|
|
563
|
+
rm -rf ~/.sdkvm/bin ~/.sdkvm/cli ~/.sdkvm/runtime
|
|
557
564
|
```
|
|
558
565
|
|
|
559
|
-
Windows 对应删除 `%USERPROFILE%\.
|
|
566
|
+
Windows 对应删除 `%USERPROFILE%\.sdkvm\bin\sdkvm.cmd`,以及 `%USERPROFILE%\.sdkvm\cli` 与 `%USERPROFILE%\.sdkvm\runtime`,并从用户 PATH 移除 `%USERPROFILE%\.sdkvm\bin`。
|
|
560
567
|
|
|
561
568
|
确认不再需要已安装的 JDK、Go、Flutter、Node.js 之后,再删除数据目录:
|
|
562
569
|
|
|
@@ -564,7 +571,9 @@ Windows 对应删除 `%USERPROFILE%\.local\bin\sdkvm.cmd`,以及 `%USERPROFILE
|
|
|
564
571
|
rm -rf ~/.sdkvm
|
|
565
572
|
```
|
|
566
573
|
|
|
567
|
-
同时删除 shell
|
|
574
|
+
同时删除 shell 配置里:
|
|
575
|
+
- `# >>> sdkvm path >>>` … `# <<< sdkvm path <<<`
|
|
576
|
+
- 各 SDK 的 `>>> sdkvm java|go|flutter|node init >>>` … `<<< … <<<`
|
|
568
577
|
|
|
569
578
|
Windows 还需要在系统设置中删除 `JAVA_HOME`、`GO_HOME`、`FLUTTER_HOME`、`NODE_HOME`,并从用户 PATH 移除 `%JAVA_HOME%\bin`、`%GO_HOME%\bin`、`%FLUTTER_HOME%\bin`、`%NODE_HOME%`。
|
|
570
579
|
|