如何离线安装Chocolatey软件包?

sur*_*sh2 19 chocolatey

我正在尝试自动设置开发机器软件安装.当您连接到互联网时,Chocolatey可以很好地安装软件包.有没有办法离线安装包?我只想将所有软件包放在共享网络文件夹中并使用该软件包进行安装.如果您有任何内部应用程序,如何将它们转换为巧克力包?以前有人试过吗?

fer*_*der 9

缓存下载 - 不确定性

虽然有一些方法可以设置原始nupkg(包含其上的版本,而不是packages目录中的版本 - 使用Chocolatey社区包存储库中包页面左侧的下载)并将下载的二进制文件预设到缓存文件夹中,它是并不总是确定它会起作用.您还可以覆盖缓存位置,以便该文件夹位于TEMP中的某个位置.看choco config,choco config -hchoco config set cacheLocation c:\some\location做到这一点.

创建自己的包 - 更好

对于您需要离线的软件包,您可以管理自己的软件包,并且可以将软件直接嵌入到软件包中.当您想要离线管理软件时,这是理想的,因为社区存储库中的大多数东西都受版权法和发行权的约束(为什么他们不仅仅拥有他们所代表的软件嵌入式).

创建和使用自己的包非常安全,但它确实需要花费时间.如果您自己这样做,那么它可以覆盖使用Chocolatey和社区存储库作为消费者所获得的任何时间节省.

对于组织,我们开发了Package Builder,可在5-10秒内创建完整的软件部署(包).它还可以在60秒内创建现有已安装软件(程序和功能)的软件包!阅读有关Package Builder的更多信息.

内部化套餐 - 最佳

你可以在这里做的最好的事情是一个称为内化的过程,你下载并解压缩包,下载所有资源并将它们嵌入到包中(或将它们放在本地的某个地方),编辑脚本以使用这些嵌入/本地资源并重新编译包.

这使您可以利用现有的包逻辑而不会出现互联网问题.

有关更多详细信息,请参阅手动内化程序包程序包内部化程序 - 自动内部化程序包.

组织使用Chocolatey

大多数使用Chocolatey的组织正在组合创建包和内化包,因为在生产场景中使用时,它们需要可靠性和绝对信任以及对这些包的控制.


小智 5

我创建了一个名为 ChocolateStore 的项目,该项目可自动执行从在线源复制 Chocolatey 包并使该包可供离线使用的过程。

你可以在这里查看源码:https : //github.com/BahKoo/ChocolateStore