env-sort 环境变量整理工具, 强迫症一本满足

2022-11-24 22:36:52 +08:00
 GalAster

当你的开发机装了 3 个 Visual Studio, 4 个 LLVM, 5 个 CUDA, 6 个 Python, 18 个 JVM 等一堆杂七杂八的东西的时候.

每次查看环境变量, 作为强迫症的你, 一定是崩溃的.

当我整理完一台电脑然后发现公司的电脑没整理时, 我马上意识到, 是该写个工具自动化了.

于是就有了 github.com/oovm/env-sort, 它可以帮你

  1. 排序环境变量, 可以区分用户环境变量和系统环境变量
  2. 删除重复的 PATH 环境
  3. 删除失效的 PATH 环境
  4. PATH 大小写改正成实际路径的大小写, 前提是该路径存在

如果已经安装了 rust 环境, 可以直接用 cargo 安装.

cargo install env-sort -f
env-sort     # 预览执行
env-sort -e  # 实际执行

如果没有安装 rust 环境, 可以直接下载最新 release, 然后在同目录执行.

1620 次点击
所在节点    分享创造
6 条回复
bigtear
2022-11-25 09:45:15 +08:00
不错的项目,star 了
lisxour
2022-11-25 10:35:00 +08:00
你有没有想过乱排 PATH 产生的后果?
lisxour
2022-11-25 10:46:01 +08:00
@lisxour 我的“乱排”的意思,打乱原先的顺序,正常来说,一台开发机,一个同样的软件可能会存在多份,我拿 python 来举个例子,你可能自己安装了一份 python 且这个的 PATH 优先级是在前面的,所以你一直以来的调用都是没问题的,但是你安装的 XXX 软件也内置了一份自身使用的 python 并置于了 bin 目录下,且 bin 的 PATH 是很低的,所以永远无法调用到这份 python ,此时如果你把顺序调整了,优先级完全被打破,100%遇到各种莫名其妙的依赖报错、环境报错,迟早的问题
GalAster
2022-11-25 12:15:46 +08:00
用 `%VERSION%` 区分就行, 你那样本身就是有隐患的. 我多个 LLVM 就是写 `%LLVM_SYS_140_PREFIX%` 区分的.
GalAster
2022-11-25 12:22:35 +08:00
为了确保不出问题 Shebang 写的时候也是 `#!/usr/bin/env python38`, `#!/usr/bin/env python2` 这样的吧, 如果写 `#!/usr/bin/env python` 多半当场就跑不起来
bigtear
2022-11-25 23:06:22 +08:00
@lisxour 你这样的需求就不应该用这个软件🤣,这软件是给懒人用的

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

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

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

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

© 2021 V2EX