windows 平台下面的包管理工具好么?比如 Chocolatey, scoop? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yazoox
V2EX    Windows

windows 平台下面的包管理工具好么?比如 Chocolatey, scoop?

  •  1
     
  •   yazoox 2021-02-07 10:53:15 +08:00 7452 次点击
    这是一个创建于 1783 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题!类似于 macosx 下面的 brew 工具
    不知道 windows 下面的这类工具好用么?

    有没有兄弟使用过这类工具,分享一下经验心得?

    26 条回复    2022-03-05 18:06:22 +08:00
    jdhao
        1
    jdhao  
       2021-02-07 10:55:14 +08:00 via Android
    你自己都说了。 最新的还有个 winget 吧
    th1nk
        2
    th1nk  
       2021-02-07 10:55:17 +08:00
    chocolatey
    scoop
    winget
    appget
    npackd
    oneget
    waruqi
        3
    waruqi  
       2021-02-07 10:57:10 +08:00 via Android
    还有 xrepo 跨端的
    nguoidiqua
        4
    nguoidiqua  
       2021-02-07 11:14:00 +08:00
    scoop 还可以,感觉比 choco 方便点。

    目前能用 scoop 装的东西基本上都用 scoop 装,主要问题在于下载源在外面,需要那个一下。另外下载、安装、清理效率不如 Linux 之类包管理来得轻快,所以比较大型且可以自己点一下就更新的软件我还是另外安装了。

    等着看微软自己搞的能发展到什么样了。
    billgong
        5
    billgong  
       2021-02-07 11:46:27 +08:00   2
    winget 、scoop 和 chocolatey 都用过。最后选(忍)择(耐)了 scoop,最大的原因莫过于 scoop 的理念和 homebrew 类似,即安装的软件都是相对 portable 的

    chocolatey 作为包管理器是合格的,但其设计方式限制太多了,解决或者跳过依赖需要大量的 workaround 。这种理念放 Linux 没问题,毕竟整个 distro 都是基于 package manager 管理的。但 Windows 不一样,安装软件的方式五花八门,Chocolatey 管理方式非常生硬,如果软件单独被升级(最明显的例子就是 vcredist ),chocolatey 非得是商业版本才能检测并自我更新。用一段时间后你就会发现你的软件和 chocolatey 彻底脱节了,完全乱成一团的那种

    scoop 规模小得多,而且非常自由(包管理方面),当然了缺点也超级明显 - bug 奇多,有些设计(比如 manifest 的 autoupdate )不知所云(可能是我还是太年轻了)。但装出来的结果很干净,java 、python 这种东西也能通过 env 方便地应用到系统全局。现在困扰我最大的问题就是 manifest 可选项太少,比如一些常用依赖包(如 lessmsi 、nmap-portable )生成的开始菜单快捷方式没什么用还占地方还没选项删除(即下次升级还会再生成回来)。想装个 busybox 的话,你的 shims 文件夹就彻底乱掉了(呵呵),防冲突设计基本等于零。

    要不是太折腾,我真的很想把 production 切到 Linux 上去,包管理真的是完善。
    fiveelementgid
        6
    fiveelementgid  
       2021-02-07 11:51:54 +08:00 via Android
    NuGet(错乱
    caixiaomao
        7
    caixiaomao  
       2021-02-07 11:55:39 +08:00
    目前用的 scoop 体验良好 不过有时候下载速度慢 可能得备个梯子
    billgong
        8
    billgong  
       2021-02-07 12:01:17 +08:00
    @caixiaomao 应该是和 scoop 大多数都是从 github 下东西相关吧……

    完全镜像一个全国内镜像的 bucket 应该不是很难,就是很累
    rayhy
        9
    rayhy  
       2021-02-07 12:06:55 +08:00   1
    装一些小工具软件还是可以的。但是因为注册表的存在,装 gui 程序总是觉得有乱七八糟的问题,比如绑定用 vscode 打开的文件图标都是 vscode 本身的图标,而看不出文件的类型。
    canbingzt
        10
    canbingzt  
       2021-02-07 13:20:36 +08:00
    scoop 挺好用的
    pxCore
        11
    pxCore  
       2021-02-07 13:34:00 +08:00
    用过 scoop/choco,scoop 管理更加简单,通过 choco 安装的东西我都不知道在哪(或者我没用对)
    iamwho
        12
    iamwho  
       2021-02-07 14:27:10 +08:00
    scoop 最具使用体验,但是它不承认自己是包管理器。

    winget 感觉就是一个安装包下载器(现在是什么样子我不知道,刚发布的时候用过一次)。
    nightwitch
        13
    nightwitch  
       2021-02-07 14:37:24 +08:00   2
    choco 功能比较弱,至少和 Linux 下的 apt/dnf/pacman 是没法比的,不过安装 /更新 /卸载软件还是合格的,scoop 只短暂体验过。

    一个我观察到的主要问题是很多 Windows 上的软件在编写的时候并没有考虑包管理器的存在,自身往往会带有 update 的机制,所以就会导致你在 choco 上安装了 a 版本的软件,用的过程中软件自动升级了,但是并不会有一个机制通知包管理器它已经升级了,在包管理器的记录上它还是旧版本。

    另外一个问题是感觉开发有关的包感觉比较少, 可能有开源库会选择去打包一个 deb 包,但是很少见到有库去打包成 choco 的包。boost 之类的还能在 choco 上找到,gtest/glog 等库就搜索不到了。
    forcecharlie
        14
    forcecharlie  
       2021-02-07 14:41:49 +08:00   2
    我一般用自己写的 [baulk]( https://github.com/baulk/baulk),极简,绿色,环境变量隔离,支持虚拟环境(并行安装多个 JDK 等),提示现代,和 Windows Terminal 集成较好。
    ungrown
        15
    ungrown  
       2021-02-07 14:50:10 +08:00
    我常用软件中前三梯队的安装包、压缩包、展开包都分门别类放在坚果云网盘里面,我没觉得 winos 目前的包管理器生态位足够方便好用,可能对于需要大量机器批量安装的人来说包管理器也许会方便一点(在外网通畅的前提下)
    zachlhb
        16
    zachlhb  
       2021-02-07 18:44:47 +08:00 via iPhone
    自己用的 chocolatey,感觉还不错的
    zx900930
        17
    zx900930  
       2021-02-07 19:52:02 +08:00
    choco 非商业版也可以用第三方的包通过计划任务自动更新 package 的。
    不过问题是:
    1.只能装在 C 盘,要想装别的盘需要通过软链接映射。
    2.如果你的版本不是默认的版本,比如 sqlserver, 你可能需要不同的名字,不同的语言版本,你得自己去下载安装包,自己修改配置文件,然后再 choco install + param, 这是脱裤子放 P, 而且也不能自动更新。
    3.包的数量太少,很多包都没有。
    systemcall
        18
    systemcall  
       2021-02-07 19:56:42 +08:00   1
    用过 choco 和 win-get,感觉都不太好用。win-get 感觉是微软软件管家,只是自动下载软件而已,而且安装的卸载都不知道去哪里卸载。不知道现在怎么样了,以前是很难用
    话说微软弄过多少包管理器了? msi appx nuget win-get,还有什么呢?印象中不止这几个吧,还有个 Windows 商店?
    TypeError
        19
    TypeError  
       2021-02-07 20:00:19 +08:00 via Android
    choco 装 gui 软件,
    scoop 装开发者工具,完全够用,比 brew + brewcask 好用
    eddie4607
        20
    eddie4607  
       2021-02-07 20:09:19 +08:00
    scoop 支持的软件比较多吧,不过确实有些软件会有安装的 bug 。
    fengyj
        21
    fengyj  
       2021-02-07 21:12:51 +08:00
    目前只用 Scoop,没有可以自建 bucket
    Rache1
        22
    Rache1  
       2021-02-08 09:33:13 +08:00   1
    目前用的 scoop,软件是挺多的,就是这上面的都是以「便携版」为主,导致一些软件安装后不能自动注册文件协议这类的操作。不过也有好处,就是重装系统后,直接 reset 一下,大部分软件都可以直接用了。还有就是因为都是从 github 这类国外网站下载包,就会很慢,虽然可以设置走代理,但是感觉好像没效果?还有就是会莫名其妙的安装失败。如果安装一个软件,你安装时提示失败了,就得必须执行一下 uninstall 才能再安装。还有更新的时候,会提示软件占用,但是他又不会告诉你是哪个进程占用的。。

    winget 也有安装过,几个月前了,软件较少,安装和传统安装差不多。而且,那会儿只能安装,没有卸载。。。
    no1xsyzy
        23
    no1xsyzy  
       2021-02-08 12:46:47 +08:00
    总之建议 WSL
    任何一个包管理器体验都好太多了
    Cu635
        24
    Cu635  
       2021-03-06 10:22:52 +08:00
    @zx900930
    “只能装在 C 盘,要想装别的盘需要通过软链接映射”
    我装别的盘是为了节约 C 盘空间,装在 C 盘再软链接映射这不是多此一举么……
    zx900930
        25
    zx900930  
       2021-03-09 16:49:21 +08:00
    @Cu635 当然是装在别的盘上,C 盘里只留个软链接啊.......
    2NUT
        26
    2NUT  
       2022-03-05 18:06:22 +08:00
    @billgong #5 干净就是最大的优点, 怕就怕包管理给自己加戏
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5259 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 08:56 PVG 16:56 LAX 00:56 JFK 03:56
    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