version-manager最好用的SDK版本管理器,v0.6.2发布

项目地址:https://github.com/gvcgo/version-manager

中文文档:https://gvcgo.github.io/vdocs/#/zh-cn/introduction

功能特点

  • 跨平台,支持WindowsLinuxMacOS
  • 支持多种语言和工具,省心
  • 受到lazygit的启发,拥有更友好的TUI,更符合直觉,且无需记忆任何命令
  • 支持针对项目锁定SDK版本,使用cd命令切换到项目目录时,自动切换到锁定的SDK版本
  • 支持反向代理/本地代理设置,提高国内用户下载体验
  • 相比于其他SDK管理器,拥有更优秀的架构设计响应更快稳定性更高
  • 无需麻烦的插件,开箱即用
  • 无需docker,纯本地安装,效率更高
  • 更高的可扩展性,甚至可以通过使用conda来支持数以千计的应用

竞品对比

  1. fnm, nvm, gvm, pyenv, phpenv等,只支持单一语言,界面简陋,命令复杂。
  2. asdf-vm, mise, sdkman等,虽然支持多种语言,但要么对windows支持不够好,要么支持的语言有限,而且命令和概念复杂。
  3. vfox, 模仿asdf-vm,采用go+lua插件的模式。虽然解决了asdf-vm跨平台方面的缺陷,但是并不能提高效率,反而带来了开发上的麻烦,原因在于lua本身功能非常有限,所有的网页和接口数据的解析,下载安装等主要功能都需要在go主程序实现,然后与lua脚本交互。凡是复杂一点的网页,都不得不同时修改或调整go主程序和lua脚本,这影响了其支持的广度,甚至不得不使用竞品的版本仓库数据,例如,vfox的vlang, bun, kubectl, julia, protobuf等插件数据源头均来自VMR。而且,vfox用户需要自行寻找和安装插件,各种命令相对纷杂,需要用户付出一定的学习成本。所以,vfox这种模式并没有解决实质问题。
  4. VMR,摒弃了复杂的插件系统,剥离爬虫部分(所有SDK版本管理相关的工具,本质都是爬虫,加上解压安装、环境变变量管理),引入交互式TUI(Terminal UI),充分利用Conda forge相关资源。大大降低了学习成本,提高了响应速度和下载效率,稳定性更高,同时保持了优秀的扩展性。目前支持60多款编程语言和工具,广泛程度远非vfox等能达到。可以说VMR在设计的考虑上面,远超目前存在的所有SDK版本管理器。

动图演示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/853749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react捡起来了

通过脚手架创建react项目: 1.首先看下自己的npm和node版本:cmd打开自己的终端:输入: npm -v 查看npm的版本 node -v查看node的版本 2.不确定自己以前是否安装过creare-react-app,可以通过create-react-app -V(–versio…

【Apache Doris】周FAQ集锦:第 5 期

【Apache Doris】周FAQ集锦:第 5 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和…

【泛微系统】PC端/移动端JS写法区别

PC端/移动端JS写法区别 1.提交时调用的方法不同: PC端提交时调用:checkCustomize 移动端提交时调用:window.doSubmit_4Mobile 案例:PC端:var checkCustomize2 = checkCustomize;checkCustomize = function (){//这里添加代码//if(1 == 2){// return false;//}return …

【云原生】Kubernetes----Kubernetes集群部署Prometheus 和Grafana

目录 引言 一、环境准备 二、部署node-exporter (一)创建命名空间 (二)部署node-exporter 1.获取镜像 2.定义yaml文件 3.创建服务 4.查看监控数据 三、部署Prometheus (一)创建账号并授权 &…

厂里资讯之app端文章查看

文章列表加载 需求分析 文章布局展示 表结构分析 ap_article 文章基本信息表 ap_article_config 文章配置表 ap_article_content 文章内容表 三张表关系分析 根据数据库设计的表生成对应的实体类 ap_article文章表对应实体 package com.kjz.model.article.pojos;import co…

2024.6.16 机器学习周报

目录 引言 Abstract 文献阅读 1、题目 2、引言 3、创新点 4、匹配问题 5、SuperGlue架构 5.1、注意力图神经网络(Attentional Graph Neural Network) 5.2、最佳匹配层(Optimal matching layer) 5.3、损失 6、实验 6.…

【教程】Linux设置进程的优先级

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 关键指令 sudo chrt -f <优先级> <指令> 示例脚本 当然也可以不是启动Python脚本&#xff0c;普通的指令都可以&#xff0c;可自行适当修…

38、基于卷积神经网络(CNN)的车牌自动识别系统(matlab)

1、原理及流程 1&#xff09;原理 CNN&#xff08;卷积神经网络&#xff09;是一种深度学习模型&#xff0c;可以用于图像识别和分类任务。车牌自动识别系统的原理基本上就是使用CNN模型对车牌图像进行处理和识别。 首先&#xff1a;系统需要收集大量的含有车牌的图像数据作…

cmake target_include_directories 详解

在 CMake 中&#xff0c;target_include_directories 命令用于向特定目标&#xff08;如可执行文件或库&#xff09;添加包含目录&#xff0c;以便编译器能够找到特定目标所需的头文件。 基本语法 target_include_directories(target_name[SYSTEM] [BEFORE]directory1[direct…

什么是知识图谱

文章目录 知识图谱概念知识图谱的发展历史知识图谱的价值知识图谱概念 知识图谱是一种用图模型来描述知识和建模世界万物之间的关联关系的技术方法。知识图谱由节点和边组成。节点可以是实体,如一个人、一本书等,或是抽象的概念,如人工智能、知识图谱等。边可以是实体的属性…

八股操作系统和计算机网络

5.线程间的同步的方式有哪些&#xff1f; 6.PCB(不熟悉) 进程状态 什么是僵尸进程和孤儿进程&#xff1f; 进程调度算法 死锁的理解 举个发生死锁的例子 解决死锁的方式 内存管理做了哪些事情 什么是内存碎片 常见的内存管理 段表通过什么数据结构实现地址映射 分段机制为什么会…

平板消解加热台-温度均匀,防腐蚀-实验室化学分析

DBF系列防腐电热板 是精致路合金加热板块表面经进口高纯实验级PFATeflon氟塑料防腐不粘处理&#xff0c;专为实验室设计的电加热产品&#xff0c;是样品前处理中&#xff0c;加热、消解、煮沸、蒸酸、赶酸等处理的得力助手。可以满足物理、化学、生物、环保、制药、食品、饮品…

星型、环型、总线型和网状型拓扑结构是什么意思?

拓扑结构&#xff08;Topology&#xff09;是指对象在保持某些基本性质不变的情况下&#xff0c;不考虑距离和角度等几何细节的形状和空间关系。换句话说&#xff0c;拓扑结构研究的是物体在连续变形&#xff08;如拉伸、压缩、扭曲等&#xff09;下保持不变的性质。这一点不太…

黑马头条Minio报错non-xml response from server错误的解决方法

今天在写项目的时候&#xff0c;想测试minio上传文件功能是否正常&#xff0c; 但是每次都出现non-xml response from server的错误。 自己也在网上找了很多解决方法&#xff0c;大部分是说用户名和密码的配置问题&#xff0c;但是检查后发现并没有错误。 最后发现是自己的dock…

允许长单词和数字换行

title: 允许长单词和数字换行 date: 2024-06-15 20:18:15 tags: vue3 当文字的张度大于盒子的最大长度&#xff0c;但是由于它是一串数字或者是一串英文字母&#xff0c;通常是不会默认换行的。 在输入的时候我们会经常遇见这样的问题&#xff0c;这个时候就要重新定义一下样…

【Kafka专栏 14】Kafka如何维护消费状态跟踪:数据流界的“GPS”

作者名称&#xff1a;夏之以寒 作者简介&#xff1a;专注于Java和大数据领域&#xff0c;致力于探索技术的边界&#xff0c;分享前沿的实践和洞见 文章专栏&#xff1a;夏之以寒-kafka专栏 专栏介绍&#xff1a;本专栏旨在以浅显易懂的方式介绍Kafka的基本概念、核心组件和使用…

Bio-Info每日一题:Rosalind-07-Mendel‘s First Law(孟德尔第一定律 python实现)

&#x1f389; 进入生物信息学的世界&#xff0c;与Rosalind一起探索吧&#xff01;&#x1f9ec; Rosalind是一个在线平台&#xff0c;专为学习和实践生物信息学而设计。该平台提供了一系列循序渐进的编程挑战&#xff0c;帮助用户从基础到高级掌握生物信息学知识。无论你是初…

53. QT插件开发--插件(动态库so)的调用与加载

1. 说明 在使用QT进行插件库的开发之后,还需要将这个插件库程序生成的so动态链接库加载到主程序框架中进行使用,才能达到主程序的模块化开发的效果。在前一篇文章插件创建中介绍了如何在QT中开发插件库,并提供外部接口调用。本篇博客的主要作用是模拟在主程序框架中加载动态…

深度学习Day-20:DenseNet算法实战 乳腺癌识别

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 一、 基础配置 语言环境&#xff1a;Python3.8编译器选择&#xff1a;Pycharm深度学习环境&#xff1a; torch1.12.1c…

Prometheus PromQL

前言&#xff1a; PromQL是Prometheus的查询语言&#xff0c;用于从Prometheus服务器中获取和处理时间序列数据。它采用了类似SQL的语法&#xff0c;但专门设计用于处理指标数据。PromQL具有灵活的查询能力&#xff0c;可以对指标进行过滤、聚合、计算和变换&#xff0c;以生成…