本文原始地址:https://sitoi.cn/posts/46278.html

介绍

Chocolatey 是一种软件管理解决方案,与您在 Windows 上经历过的任何其他事情都不一样。它着重于简单性,安全性和可伸缩性。您可以在 PowerShell 中为任何软件(不仅仅是安装程序)编写一次软件部署,然后可以使用任何可以管理系统(配置管理,端点管理等)并跟踪和管理该软件更新的解决方案,将其部署到 Windows 所在的任何位置。随着时间的推移。使用 Chocolatey 在本地,“云”中或 Docker 容器中管理软件。

简而言之呢:就是类似 Liunx 下的 apt、yum、dnf 等程序包管理器。

另外需要说明的是,Chocolatey 只是把官方下载路径封装到了 Chocolatey 中,所以下载源都是其官方路径,所以下载的一定是合法的,但是如果原软件是需要 Licence 注册的话,那么 Chocolatey 下载安装好的软件还是需要你去购买注册。不过 Chocolatey 一般还是会选用免费 Licence 可用的软件。

安装要求

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+ (the installation will attempt to install .NET 4.0 if you do not have it installed)

安装 Chocolatey

以管理员的方式打开 PowerShell

  • 右击 左下角 Windows 图标,选择 Windows PowerShell(管理员)(A)

输入安装命令安装 Chocolatey

  • 在 PowerShell 终端输入以下安装代码,后输入回车即可:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

  • 等待安装完成(如果长时间没有反映,请尝试开启 科 学 上 网)

检测是否安装成功

  • 在 PowerShell 终端输入 choco 或 choco -? 检测是否安装成功

安装成功了就开始使用吧!

Choco 安装软件

以安装 nodejs 为例

查找软件包

一、利用 choco 命令查找软件包

在终端输入 choco 搜索命令:

choco search nodejs

二、利用网页端查找软件包

安装软件包

在 PowerShell 终端输入安装命令

choco install nodejs

安装命令会先下载软件包,然后再执行安装脚本,下载完成后,会询问你是否希望运行安装脚本?,输入 Y 即可。

检测 nodejs 是否安装成功,在终端输入 node -v

当你想要安装 python,只需要:

choco install python

想安装 git,只需要:

choco install git

想安装 java,只需要:

choco install java

Choco 常用命令使用

Chocolatey 的使用也很简单,使用指令如下:

choco search <keyword>  # 搜索软件
choco list <keyword> # 跟 search 命令功能类似
choco install <package1 package2 ...> # 安装软件
choco install <package> -version *** # 安装指定版本
choco uninstall name # 卸载软件
choco version <package> # 查看安装包的版本情况
choco upgrade <package> # 更新某个软件
choco list -localonly # 查看一下所有安装在本地的包的列表
choco list -lo # 功能同上

包的类型

Chocolatey 的包有不同的类型,有些包的名字里面会包含特殊的后缀,比如 .install ,.commandline,.portable ,有些包的名字不带这些后缀。

  • 无后缀(例:nodejs,git)

  • .install (例:nodejs.install,git.install)

    .install 后缀的包,这个包会出现在系统控制面板里的 卸载或更改程序 里面,你可以把 .install 的包想成是通过安装程序(msi)安装的包。

  • .commandline(例:nodejs.commandline,未来会被抛弃)

    .commandline(未来会被抛弃) 与 .portable 后缀的包是压缩包(zip),安装这种后缀的包,你不能在 卸载或更改程序 里找到它们。

  • .portable (例:putty.portable)

你也可以选择不带后缀的包,这样如果系统中已经安装了这个包,就会跳过去,如果没安装,Chocolatey 就会为你安装一个,默认安装的这个包的类型应该就是 .install 后缀的包。

软件包的推荐顺序: 无后缀 > .install > .portable > .commandline

附录

Windows 程序包管理器 Chocolatey:一条命令装软件的更多相关文章

  1. 善用 NuGet 程序包管理器控制台

    每种集成开发环境都会提供扩展包的下载与安装,VS (微软可视化集成开发环境) 下的叫程序包管理控制台,我们把他叫做<牛干 程序包管理控制台>. 在 工具=>NuGet 程序包管理器= ...

  2. VS2013中Nuget程序包管理器控制台使用入门(三)-项目实战(原创)

    VS2013中Nuget程序包管理器控制台使用入门(三)-项目实战 1.给指定项目安装Newtonsoft.Json ,Version 4.5.11 PM> Install-Package Ne ...

  3. VS2013中Nuget程序包管理器控制台使用入门(二)-如何使用Nuget提供的帮助(原创)

    如何使用Nuget提供的帮助? 1.从get-help Nuget开始,键入“get-help NuGet”以查看所有可用的 NuGet 命令. 用法: PM> get-help Nuget 主 ...

  4. VS2013中Nuget程序包管理器控制台使用入门(一)-准备环境(原创)

    准备环境: 1.打开VS2013IDE集成开发环境. 2.新建一个Asp.net Mvc的项目,比如命名为:MvcApplication1 3.打开 菜单"工具"->&quo ...

  5. VS2010使用NuGet程序包管理器

    使用C#过程中经常需要使用一些扩展包,例如sqlite,json解析等. VS2010自带了一个扩展管理器,里面可以下载到AStyle,Visual Assit等有用的插件. VS2010中点击[工具 ...

  6. 解决“程序包管理器控制台”输入命令找不到Nuget包问题

    问题: 问题原因: Nuget源的地址上不去 解决办法: 1.将Nuget源更新为可以国内使用的官方Nuget源. 1)打开VS2013:工具-->Nuget程序包管理器-->程序包管理器 ...

  7. Windows上包管理器之Chocolatey初体验

    一直使用Windows开发项目,前段时间使用了一段时间的macOS,感觉使用homebrew和npm去安装一些常用的包真的是方便啊,最近又使用回Windows,由于电脑比较新,发现里面连Git都没有, ...

  8. Kubernetes学习之路(二十五)之Helm程序包管理器

    目录 1.Helm的概念和架构 2.部署Helm (1)下载helm (2)部署Tiller 3.helm的使用 4.chart 目录结构 5.chart模板 6.定制安装MySQL chart (1 ...

  9. kubernetes-helm程序包管理器(二十)

    helm概述 Helm是Kubernetes的包管理器,Helm 让我们能够像 yum 管理 rpm 包那样安装.部署.升级和删除容器化应用. Helm的核心术语: Chart:一个helm程序包,是 ...

随机推荐

  1. 【ADO.NET基础-Login】带验证码验证的登录界面(用于简单的基础学习)

    以下代码如果有不对或者不妥之处,还望大神们指点一二 或者有同学者有问题或建议,一定要提出来,共同探讨 小弟在此感谢! 前台代码: <!DOCTYPE html> <html xmln ...

  2. SUSE Linux Enterprise 15 SP1 系统安装

    从 SUSE Linux Enterprise Server 15 开始,安装媒体仅包含安装程序 - 一个用于安装.更新和注册 SUSE Linux Enterprise Server 的基于命令行的 ...

  3. iOS开发进阶(唐巧)读书笔记(一)

    如何提高iOS开发技能 1.阅读博客:https://github.com/tangqiaoboy/iOSBlogCN 40多位iOS开发博主的博客地址 2.读书:每年阅读一本高质量的iOS开发书籍 ...

  4. Mongoose: aggregate聚合 $group使用说明

    aggregate聚合是通过管道操作实现的.聚合管道里的每一步输出,都会作为下一步的输入,每一步在输入文档执行完操作后生成输出文档. 聚合管道:  $project 修改输入文档的结构.可以用来重命名 ...

  5. Linux下beego及beego相关插件安装

    Linux下beego及beego相关插件安装 1.下载及配置go环境看见链接: http://golang.org/dl/ 网盘:链接: https://pan.baidu.com/s/1MveUM ...

  6. Solidity 编程实例--投票

    Voting 投票 思路是为每张选票创建一个合约,每个投票选项提供一个短名称.合约创建者作为会长将会给每个投票参与人各自的地址投票权. 地址后面的人们可以选择自己投票或者委托信任的代表人替他们投票.在 ...

  7. Java字符串课后作业

    [实验任务] 1.实验题目:字串加密 2.实验内容:古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

  8. 如何使用Externalizable接口自定义Java中的序列化

    Java序列化过程的缺点 我们都知道如何使用Serializable接口序列化/反序列化一个对象,并且如何使用writeObject 和readObject方法自定义序列化过程. 但是这些自定义还不够 ...

  9. 《java编程思想》P125-P140(第七章复用类部分)

    1.类的成员默认的是包访问权限.允许包内成员访问 2.super.scrub() 调用基类的scrub方法 3.继承并不是复制基类的接口.当创建了一个导出类(子类)对象时,该对象包含了一个基类的子对象 ...

  10. Docker 学习入门

    一.Docker 简介 1.什么是 Docker Docker 是使用最广泛的开源容器引擎,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本! 使用 Docker,可 ...