本文原始地址: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 终端输入 chocochoco -? 检测是否安装成功

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

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. 如何提高scroll事件的性能

    1. chrome devtool 是诊断页面滚动性能的有效工具 2. 提升滚动时性能,就是要达到fps高且稳. 3. 具体可以从以下方面着手 使用web worker分离无页面渲染无关的逻辑计算 触 ...

  2. 体验StartOS

    旧电脑,原来使用的是win xp.随着win及其支持打软件打“成长”,电脑运行越来越慢了.一个操作需要很长的时间等待,终于,失去了耐心,换了新的电脑. 旧电脑弃置多年,留之无用,弃之可惜.偶发奇想,换 ...

  3. overflow滚动条如何隐藏

    隐藏滚动条有很多方法,比较简单和直观的方法可以使用::-webkit-scrollbar来完成 例如: .box::-webkit-scrollbar{ display:none } 这样的话就把bo ...

  4. 一文彻底理解Redis序列化协议,你也可以编写Redis客户端

    前提 最近学习Netty的时候想做一个基于Redis服务协议的编码解码模块,过程中顺便阅读了Redis服务序列化协议RESP,结合自己的理解对文档进行了翻译并且简单实现了RESP基于Java语言的解析 ...

  5. Nepxion Discovery【探索】微服务企业级解决方案

    Nepxion Discovery[探索]微服务企业级解决方案] Nepxion Discovery[探索]使用指南,基于Spring Cloud Greenwich版.Finchley版和Hoxto ...

  6. Vue入门教程 第四篇 (属性与事件)

    computed计算属性 计算属性(computed)在处理一些复杂逻辑时是很有用的.它的定义方式与methods类似. <div id="app"> <div& ...

  7. MySQL学习(四)深入理解乐观锁与悲观锁

    转载自:http://www.hollischuang.com/archives/934 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据 ...

  8. PHP代码审计辅助脚本

    #!/usr/bin/env python import sys import os def main(): print ''' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ...

  9. Intel Ivy Bridge Microarchitecture Events

    This is a list of all Intel Ivy Bridge Microarchitecture performance counter event types. Please see ...

  10. mfc字符转码

    std::wstring UTF8ToUnicode(const std::string& utf8string) {  , utf8string.c_str(), -, NULL, );   ...