V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
forcecharlie
V2EX  ›  Windows

baulk 极简的 Windows 绿色包管理器

  •  
  •   forcecharlie · 2020-06-06 14:58:53 +08:00 · 2046 次点击
    这是一个创建于 1630 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 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

    7 条回复    2020-07-20 09:21:54 +08:00
    woncode
        1
    woncode  
       2020-06-06 15:21:47 +08:00 via Android
    所以真正的软件安装包来自哪里呢?既然装的是绿色软件,那是作者一个个打包常用软件吗?或者是否兼容 Chocolatey 。通读了 readme 没看到这个解释。
    forcecharlie
        2
    forcecharlie  
    OP
       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
        3
    Tink  
       2020-06-06 15:37:35 +08:00 via iPhone
    官方不提供绿色压缩包的话就不支持了么
    forcecharlie
        4
    forcecharlie  
    OP
       2020-06-06 15:42:36 +08:00
    @Tink msi 的可以解压,NSIS 的也可以,设置为 7z 能够解压的都行。
    imn1
        5
    imn1  
       2020-06-06 15:58:29 +08:00
    绿色软件其实不需要太多管理,基本一个 launcher 就够用,反正装就是解压,卸就是删除
    可能需要管理的一点就是能快速找到官网,仅此而已
    我是扔到一个目录,然后 Appetizer 作为菜单式 launcher,Appetizer 的缺点是不能运行管理员权限快捷方式,其他没什么了,备份是全目录备份,重装系统从备份 copy 过去,连解压都懒

    我现在寻求的是一个配置管理工具,各种软件(包括非绿软)的 ini/conf,不想重装时逐个去重写一遍
    Akkuman
        6
    Akkuman  
       2020-07-19 22:10:16 +08:00   ❤️ 1
    我一直使用的是 scoop,这个和 scoop 的区别在哪里
    forcecharlie
        7
    forcecharlie  
    OP
       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)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:50 · PVG 00:50 · LAX 08:50 · JFK 11:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.