baulk 极简的 Windows 绿色包管理器

2020-06-06 14:58:53 +08:00
 forcecharlie

在 winget 推出之前,baulk 就写的差不多了,除了 baulk 自身的升级和文档,基本就可用了,目前 baulk 已经支持自我升级,差不多可以提供给感兴趣的小伙伴使用了。

https://github.com/baulk/baulk

baulk 作为 Windows (Windows 10 1909 或者更新版本) 上的极简包管理器,有一些特性。

  1. 所有的包都是免安装的,即不写入 Windows 系统的注册表安装软件项,不修改系统环境变量。
  2. 支持多种压缩格式,zip/msi/7z/tar 等等,还支持 single exe 安装
  3. 支持创建 launcher(如果程序没有其他依赖,可以使用符号链接,否则创建启动器,当安装了 Visual Studio 启动器由 C++ 编译,否则使用 baulk-lnk 代理。)
  4. 提供了 baulkterminal 程序,可以设置特定的参数,启动 Windows Terminal,可以加入到资源管理器右键菜单,随时随地启动 baulk 环境。
  5. 提供了 baulk-exec 可以在 baulk 环境下执行一些命令,比如编译或者其他,比如 baulk-exec -V --vs cl -Bv

baulk 下载地址:https://github.com/baulk/baulk/releases

2051 次点击
所在节点    Windows
7 条回复
woncode
2020-06-06 15:21:47 +08:00
所以真正的软件安装包来自哪里呢?既然装的是绿色软件,那是作者一个个打包常用软件吗?或者是否兼容 Chocolatey 。通读了 readme 没看到这个解释。
forcecharlie
2020-06-06 15:34:43 +08:00
@woncode 包的元数据通过 Github 管理的 [https://github.com/baulk/bucket]( https://github.com/baulk/bucket)
不兼容 Chocolatey,所有的包都是官方提供的压缩包,而不是安装包。

比如 cmake 的元数据 `cmake.json` 是这样子的:

```json
{
"description": "CMake is an open-source, cross-platform family of tools designed to build, test and package software",
"version": "3.17.3",
"url": [
"https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-win32-x86.zip",
"https://cmake.org/files/v3.17/cmake-3.17.3-win32-x86.zip"
],
"url.hash": "SHA256:1a7d82fe79b295461e8fe91e6d3d97a43c01cf954426c8b10a108575c1aa4ee1",
"url64": [
"https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-win64-x64.zip",
"https://cmake.org/files/v3.17/cmake-3.17.3-win64-x64.zip"
],
"url64.hash": "SHA256:8a02de221aa96c236a947b28ca1bd6327b9bb82fa74b91e5caa49ffd6a642ae2",
"extension": "zip",
"links": [
"bin\\cmake.exe",
"bin\\cmake-gui.exe",
"bin\\cmcldeps.exe",
"bin\\cpack.exe",
"bin\\ctest.exe"
]
}
```
Tink
2020-06-06 15:37:35 +08:00
官方不提供绿色压缩包的话就不支持了么
forcecharlie
2020-06-06 15:42:36 +08:00
@Tink msi 的可以解压,NSIS 的也可以,设置为 7z 能够解压的都行。
imn1
2020-06-06 15:58:29 +08:00
绿色软件其实不需要太多管理,基本一个 launcher 就够用,反正装就是解压,卸就是删除
可能需要管理的一点就是能快速找到官网,仅此而已
我是扔到一个目录,然后 Appetizer 作为菜单式 launcher,Appetizer 的缺点是不能运行管理员权限快捷方式,其他没什么了,备份是全目录备份,重装系统从备份 copy 过去,连解压都懒

我现在寻求的是一个配置管理工具,各种软件(包括非绿软)的 ini/conf,不想重装时逐个去重写一遍
Akkuman
2020-07-19 22:10:16 +08:00
我一直使用的是 scoop,这个和 scoop 的区别在哪里
forcecharlie
2020-07-20 09:21:54 +08:00
@Akkuman 我没使用过 scoop,但 Baulk bucket 还是追踪了 Scoop bucket 的更新,这一点非常感谢 Scoop, Baulk 使用 C++17 编写,使用创建符号链接或者启动器的方式将程序命令添加到 baulk 的 links 目录,此目录在运行 baulkterminal 或者 baulk-exec 时会被加载到环境变量,baulk 的环境变量加载是以不侵入系统环境变量和用户环境变量设置为前提。baulk 还支持 venv 功能,能够并行安装软件的多个版本,然后进行快速切换。
[Baulk - 开发一个简单的包管理工具历程]( https://forcemz.net/toolset/2020/07/18/Baulk/)

![]( https://s1.ax1x.com/2020/07/19/UW1obq.png)

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

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

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

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

© 2021 V2EX