[分享创造] 我开发了一个开发环境管理器,一键下载/管理开发工具 - V2EX
爱意满满的作品展示区。
heroisuseless

[分享创造] 我开发了一个开发环境管理器,一键下载/管理开发工具

  •  
  •   heroisuseless Apr 29 548 views

    一句话总结:Envis 是一款面向开发者的新一代多语言版本管理工具,它在理念上与 asdf 类似,但提供了图形用户界面( GUI ),试图降低项目环境配置的门槛。

    几乎每一个开发者都会遇到这个痛点:如何方便、快速地搭建和配置开发环境。想象一个场景,在新的工作环境或者新的项目开始时,你可能需要花费大量的时间用来安装依赖包、配置环境变量、解决版本冲突问题等等,巨大的精力消耗在这些繁琐的工作上,而不是专注于开发工作本身(这个问题在国内更为突出,你可能要应对网络问题等更多未知的问题)。因此,一个方便、快速的开发环境管理器就显得尤为重要。

    Envis 就是这样一款方便快捷的开发环境管理器,它通过可视化的界面进行环境变量管理,实现了一键下载 Java ,NodeJS ,Python ,MySQL 等开发工具,自动环境变量配置,环境隔离,一键版本切换,一键切换国内仓库等,非常方便!

    Envis 主要解决两个痛点:

    • 给项目安装若干开发环境的痛点
    • 不同项目切换时需要切换若干开发环境的痛点

    Envis 是怎么解决这些痛点的呢?。。关键在于 Envis 为每一个项目都定制了一套各自的开发环境,例如项目 A 使用 NodeJS 14 ,Java 8 ,MySQL ;而项目 B 使用 NodeJS 20 ,Java 11 ,MongoDB ,这里需要创建两个开发环境,然后分别配置服务。

    环境会有一个“激活”的概念,其原理就是点击激活后,会将环境下的服务程序写入到终端配置文件中,这样就能在全局使用了,激活一个环境时会自动激活旗下的所有服务,不过同时只能有一个环境处于激活状态(其实多个环境也是可以同时启动的,只是一般而言没有必要,因为不同环境的不同版本的服务会相互冲突)。启动环境完毕后,打开终端,终端会读取终端配置文件导入环境变量,从而就能处于你想要的环境啦!

    Envis 是怎么管理服务程序的呢? Envis 能自动从各个软件源下载对应的软件,并存储到统一的文件夹下(默认在家目录下),但是你也可以在设置窗口调整该位置,所有下载的软件程序都放到这个文件夹下,不会污染系统环境。具体到某一个服务而言,每个服务都会有一个面板,方便操作,例如 NodeJS 的面板上可以方便地设置仓库地址,prefix 前缀,查看全局包等等,非常的实用。

    另外,Envis 还支持了黑夜白天模式,中英文切换,不同服务还会有各自的 logo 背景图,界面还是非常漂亮的!

    如果你也经历过“环境地狱”,如果你希望开发环境像“应用配置”一样简单,试试 Envis 让切换整套开发环境,只需一次点击。

    官网地址:https://envis.app

    开源 Github 地址:https://github.com/xopenbeta/envis-app

    v1
        1
    v1  
       Apr 29
    有当年 php 面板那味道了,cPanel|DirectAdmin|WDCP|AMH|LNMP 一键包
    About     Help     Advertise     Blog   nbsp; API     FAQ     Solana     5555 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 02:48 PVG 10:48 LAX 19:48 JFK 22:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86