详细教程:
作为一个全栈程序员经常面临为不同项目管理多种语言或工具的不同版本的为问题。这可能涉及使用不同的版本管理工具,如 Node 的 NVM 、Flutter 的 FVM 、Java 的 SDKMAN 等,每种工具都有自己独特的使用方法。这些工具的安装和管理既繁琐又耗时。此外,跨平台兼容性通常也是一个问题,不同的环境需要不同的工具! 比如 nvm 和 nvm-windows.
所以开发了 VersionFox 工具! 跨平台! 插件! 你只需要一个 VersionFox 就能管理多个你想要的语言! 不用在学习和使用各种特定语言的版本管理工具啦!!!
欢迎大家使用, 顺便提提 issue~
1
pikko 326 天前
为啥设计 ```vfox add flutter ``` 后面还得加 lua 地址
|
2
hankli OP @pikko 是这样,因为目前没有做统一分插件发的入口, 比如说 vfox add flutter 直接就安装 flutter 插件了, 因为现在项目刚起步, 插件数量也不大, 对插件的安装来源没有限制, 后面如果插件数量起来了, 会做这个功能的. 就目前的设计而言, 1.允许用户自定义插件的名称, 可能插件的名称并不是用户想要的 2.就是前面说的, 用户可以安装任何地方的插件, 可以是网络文件也可以是本地文件.
|
3
hoopz 326 天前
今天刚开在找相关软件,我都怀疑这条是算法推给我的。
看了 chocolatey ,asdf-vm 。 |
4
hankli OP @hoopz 哈哈哈, 我刚推这个项目, 你说的这俩就是我要解决的问题, chocolatey 只针对 windows, asdf-vm 只针对 unix-like 系统环境.... 虽然都是非常棒的项目, 但其实还是能整合的, 现在版本管理工具简直跟娱乐圈一样... 五花八门...
|
5
pikko 326 天前
@hankli #2 所以这里的 ```flutter ``` 是用户的自定义名称,后面的链接是源?
本身就这条命令很不直觉,一些自定义用 --name --url 感觉直觉一点 ```vfox add flutter``` 这条就很直觉感觉有官方维护包,结果后面又有一个 url 我理解应该是```vfox add flutter --url https://...``` ,然后不填 url 的话就默认是你给的官方 url 示例那个长期维护 |
6
hankli OP @pikko 目前有个仓库专门存放插件,https://github.com/version-fox/version-fox-plugins
> 我理解应该是```vfox add flutter --url https://...``` ,然后不填 url 的话就默认是你给的官方 url 示例那个长期维护 好想法, 我记录一个 issue 哈哈哈, 因为本着能简则简的原则(懒,能少输入就少输入)外加没有想做统一入口的打算, 直接就是 vfox add <sdk-name> <url>了, 我记下啦👍 |
7
cleanery 325 天前 1
不过这东西不是经常需要重装的, 下次有新电脑的时候试试吧
|
9
body007 325 天前
|
10
hankli OP @body007 确实, 目标是一样的, 不过我看了一下, 他是 golang 实现了支持的 sdk, 而我的想法是, 具体实现放给用户, 可以是 sdk 也可以是工具, 只要按照插件规范实现出来的东西都能够通过 VersionFox 管理.
|
11
body007 325 天前
@hankli #10 用过 https://github.com/Schniz/fnm ,其中我觉得好的功能就是每个打开的终端都可以使用特定版本,cd 到项目目录自动读取该目录文件自动切换到项目需要的版本。你的这个仓库支持么?我还没细看你这个仓库功能呢。
|
12
hankli OP @body007 目前不支持, 有这个想法. 精力有限, 先做好核心功能, 目前在做#1 楼提到的入口问题.
你说的这个可实现, 不过对于通用工具而言,并不是所有的语言都能够检测项目版本. fnm 能实现是因为 Node 有 package.json. 当然啦有兴趣可以一起啊😄. |
14
cxmokai 324 天前
一直用[asdf]( https://asdf-vm.com/),然后关注[pkgx]( https://pkgx.sh/).
|
15
hankli OP |