3 个版本
0.0.3 | 2020年8月24日 |
---|---|
0.0.2 | 2020年8月24日 |
0.0.1 | 2020年8月24日 |
#527 在 操作系统
1MB
560 代码行
gvm - 全局版本管理器
所有二进制的版本管理器。
安装
目前仅通过 cargo 分发,但该项目将来将以单个二进制文件的形式发布。
cargo install gvm
为什么?
我找不到一个类似这样的解决方案,它还能在 Windows 上运行。
设置
- 目前,通过 cargo 安装
gvm
。 - 手动将二进制文件夹添加到路径中
- Windows:
C:\Users\<user-name>\AppData\Local\gvm\gvm\bin
- Mac/Linux:
~/.local/share/gvm/bin
- Windows:
- 在项目文件夹中添加一个 .gvmrc.json 文件,并指定二进制文件名和二进制清单文件的路径。
{ "binaries": { // these don't exist anywhere at the moment (again, proof of concept) "deno": "https://127.0.0.1:8000/deno-1.3.1.json", "dprint": "https://127.0.0.1:8000/dprint-0.9.0.json" } }
- 运行
gvm install
命令
gvm install
将当前配置文件中的二进制添加到路径,然后下载并安装它们。
gvmuse <二进制名称> <版本>
全局使用指定的二进制名称和版本。
二进制和版本必须已经安装。
gvm run[二进制-名称] [...参数]
根据当前配置文件使用提供的参数运行指定的二进制。
如果尚未安装,将下载并安装二进制。
这是内部用于运行正确二进制的 [binary-name] [...args]
。
未来改进
- 在 .gvmrc.json 中指定支持的版本范围。
{ "binaries": { // I don't know... something like this "deno": { "version": "^1.3.0", "download": "https://127.0.0.1:8000/deno-1.3.1.json" } } }
- 支持文件路径,除了 URL。
gvm install <url>
- 在指定的 URL 安装二进制。gvm use <url>
- 通过 URL 全局使用二进制的特定版本。- 在配置文件中指定安装前和安装后命令的能力。
- 类似于
npm run <script-name>
。 - 能够清除 X 天内未运行的任何二进制。
- 让二进制指定所有版本号,并能够获取最新版本。
gvm uninstall <二进制名称> <版本>
或gvm uninstall <URL>
- 插件运行一些设置命令的能力。
- 确保下游二进制文件保持一致的路径上的校验和。
依赖项
~9-24MB
~324K SLoC