admin管理员组

文章数量:1588704

在学校的时候,初学编程语言的时候,可以说是十分难受的了

尤其是安装软件,配置环境变量,更是一头雾水。

对于我这个半年重装系统的人来说更是灾难了,总能花上半天的时间去配置环境。(曾在 Github 上看见一个一键删除配置环境的项目,名字叫【你配吗?】)

所以如何快速配置环境也许是合格的程序员要了解的课题吧(我是这么认为的)

那又没有什么工具能满足呢?

当然有,名字就叫 Chocolatey.是一个在 Windows 下包管理软件.

你可能会说:包管理在 Linux 内核的系统或 MacOS 下挺常见的.

既然包管理如此的方便,为何不试试 Windows 下利用终端安装软件的方式呢?摆脱鼠标大师呢?(其实我之前也是鼠标大师)

安装

  1. 利用管理员权限打开 PowerShell

  2. 输入以下语句

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey/install.ps1'))

如果不能使用的话,就去 Chocolatey 下载界面去找最新的

中间可能会输入几次 Y/N ,无脑Y就行

等返回输入界面,就重新

输入以下语句查看 Chocolatey 版本

choco -v

出现版本号就是安装成功

使用

假设你进入了新公司,领了台已经被重装系统的电脑,然后你安装了 Chocolatey.

开始使用 Chocolatey ,可以使用以下指令进行大概了解

choco -h

假设你要安装经典 java8 ,你可以输入以下语句

choco search java8

你可能会发现出现的是 zulu8 ,不要担心,这是 开源版 java , 你要装的是 Oracle 的 Java ,那么换个名字试试,试个 jdk8

choco search jdk8

然后第一个真的是 jdk8 ,然后你犯愁了,这是 Oracle 的吗?那么你就可以输入以下语句来查看详细信息

choco info jdk8

你看到下载界面是在 Oracle ,很惊喜,准备安装

choco install jdk8

等一会,安装完成,返回输入行后,重新打开终端输入

java

javac

是否出现相关指令就可以了

这时候,你的同事突然告诉你,你这个 Java 要和公司里环境统一,你问了一下版本号.

是191版本,你看了下自己装的是211版本

没办法只能输入以下命令卸载

choco uninstall jdk8

等待出现输入行后,再重新安装了

choco install jdk8 --version=8.0.191

此时你心里很满意,就准备看看自己用 choco 安装了那些软件

choco list --local-only

以上就是我在使用 chocolatey 常见的场景,更多的可以利用搜索引擎去寻找更多的使用方式

其他说明

chocolatey 下载慢

在 Chocolatey 中,还有一个问题是下载慢,这并不怪 Chocolatey ,他的来源挺干净的,软件基本是从官网上直接下载,然后进行安装.正是因为从官网安装,有的下载连接并没有优化国内网络线路,主要是海外线路,导致的下载慢,比方说 Github 上下的开源软件.所以对于计算机人来说走点特殊通道,很正常.这个时候 --proxy= 就很有用了

举个例子,我要通过特殊通道下载 chrome .

只需要执行以下语句即可

choco install googlechrome --proxy=127.0.0.1:8080

不过这里面用的是 HTTP 通道.至于 socks 我并没有研究过

(写道这里突然对 HTTP 通道和 Socks 通道有点好奇了,抽空了解了解,整理一下)

补充

  1. 如果在安装的过程中人为取消,造成软件安装失败,不能再次用上次的命令,而是先用 uninstall ,再用 install 进行安装,当然也可以用 --force 强制安装.

  2. 如果在 Windows 上设置了全局代理,那么 chocolatey 是直接识别的,无需手动加上 --proxy .

利用 chocolatey 做软件表

在公司开发软件的过程中,要统一的环境是必不可少的,如果大家都使用 chocolatey ,无疑能让环境部署更方面.

所以我可以写一个 config 文件,把要用的软件和软件版本写上去.

package.config

<?xml version="1.0" encoding="utf-8"?>
    <packages>
      <package id="jdk8" />
      <package id="googlechrome" version="71.0.3578.98" />
      <package id="vscode" />
      <package id="intellijidea-community">
    </packages>

安装:

choco install package.config

注意写好文件的位置和名字

补充

文件名后缀一定要是.config

Java 多版本切换

java 经历了众多版本的迭代,现在已经 java 18了.

比方说我现在主要的运行环境是 java 8,但是有的时候要用 BurpSuite ,要求的最低版本是java 11

这时候用 choco 安装了两个版本的 java,怎样让他在不同的情况下能够实现版本切换.

实际上挺简单的,我们去环境变量里的 path 里看一眼,发现 java 11 在上面 java 8 在下面

如果我此时在终端上输入

java --version

会出现此内容

现在出现的是 java11 的版本内容

如果此时我把 java 8 往上移会怎么样

在终端继续输入版本检测

java -version

此时出现了 java 8 的介绍

所以要使用那个 java 版本就在所有的 java 版本里的最前面就行.

(要是问我能不能在终端里改?我个人最多知道 set path + 路径,并没有找到相关的命令,所以这时候还得用鼠标操作一下)

本文标签: Chocolatey