vfox 1.0.0 发布~

1 月 14 日
 hankli

前言

vfox 已经 2 年了,中间我也经历了裁员,并没有花太多精力去维护和宣传,非常感谢社区各位小伙伴的贡献和维护~

最近我重新审视了项目,决定花时间彻底解决 vfox 遗留多时的核心问题。

适合 vfox 的版本管理方案

版本管理工具的本质是对 PATH 环境变量的管理。目前常见的方案可以归为两类:纯 PATH (绝对路径)、Shim ( shell 脚本包装/软链)

vfox 从早期版本分别使用过这两种方案,但结果都不够理想。结合 vfox 作用域的功能及限制,最终决定采用:符号链接 + PATH 操作的混合策略

这种方案既保留了两种方式的优势,又规避了各自的缺陷,是我认为目前最适合通用版本管理器的解决方案。ps: 有些问题没有绝对的解决,但是可以相对缓解~

具体实现细节请查看下方内容。

🎉 核心改进:解决临时目录问题

问题背景

在 v1.0.0 之前,无论使用 sessionglobal 还是 project 作用域,所有 SDK 都会存储在临时目录中。这导致当 shell 关闭后,之前配置的版本信息立即失效,造成虚拟环境和 CI 流程中出现"目录不存在"的错误。

v1.0.0 方案

本版本将三个作用域的行为彻底拆分,采用更加合理的管理策略:

📍 Project 作用域(项目级)

⏱️ Session 作用域(会话级)

🌍 Global 作用域(全局)

优先级规则

通过 PATH 环境变量控制优先级,从高到低依次为:

#Project > Session > Global > System
$PWD/.vfox/sdks/nodejs/bin:~/.vfox/tmp/<pid>/nodejs/bin:~/.vfox/sdks/nodejs/bin:/usr/bin:...

具体用法请参考文档

其他功能

新配置格式支持

多用户支持

Exec 命令

其他更多改进,请看release

官网: https://vfox.dev/ 仓库: https://github.com/version-fox/vfox

1580 次点击
所在节点    分享创造
4 条回复
z960112559
1 月 14 日
恭喜 1.0 发布,挺好用的
hankli
1 月 14 日
@z960112559 哈哈哈,谢谢支持
skylark8
1 月 15 日
试了一下很好用,把现有的 nvm 啥的都迁移过来了
hankli
1 月 15 日
@xiangsanliu 那就可以哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1185560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX