前言
在windows的开发环境下,经常会听到有人关于git
,nodejs
,python
等环境安装的问题。
而大家的普遍做法往往是登陆官网,下载最新的stable
版本,或者是自己运行环境的所需要的release
版本。
这样和应用程序一样的下载方法给后续的管理,版本的切换以及升级都带来了不便,因此会想到要是可以和linux下的apt-get
或者mac下的brew
一样对包进行管理就好了。mac下仅需brew list
就可以看到所有的包,brew install $package
就可以下载好需要的包。
因此本篇介绍windows下的对应的包管理巧克力——choco
。
环境类型
在介绍choco
之前我们需要先理清开发环境中我们所使用的环境类型,以便于自己明确哪些环境丢给choco
管理的能发挥它的最大优势。对本章熟悉的同学可以略过。
我们把环境分为以下两大类:
-
具有图形化界面的应用程序
-
无图形化,是在程序运行时需要的静默环境
- 无需版本切换,向下兼容的环境
- 需要版本切换,版本和版本间有较大差异的环境
-
具有图形化界面的应用程序:例如我们常用的
vscode
,jetbrains
等,官网下载最新版本用起来就好了,版本更新的时候它会自己推送。 -
无图形化,是在程序运行时需要的静默环境:例如
git
,nodejs
,python
,jdk
,npm
,yarn
,docker
等。这种环境大部分是那种部署好了基本可以一劳永逸,运行无感知。没部署好之前“环境搞一周,开发半小时”。
更可气的是其中有些包还有版本间不兼容问题,一旦遇到版本依赖问题,在windows里,有些开发人员没有进行版本切换管理,他们会通过环境变量来控制。这个问题先挖坑以后补完。
所以第二种类型的很多包,我们其实可以用choco
进行统一管理和升级。
介绍
看完上面,choco
相信大家就会明白,其实就是windows下包管理工具而已。和apt-get
以及homebrew
是一样的。
安装
这里直接贴出官网的教程:choco安装教程,然后做一下翻译。
-
首先,你需要确保自己开的是管理员权限终端。
-
使用
powershell
安装$ 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.org/install.ps1'))
-
把上面的命令行copy进去
-
等它安装好
-
如果没有报错,试一试
choco
或者choco -?
使用
-
搜索可供安装的包
e.g.
$ choco search python
-
安装
-
git
$ choco install git
-
python
$ choco install python
-
node
$ choco install node
-
jdk
$ choco install jdk8
-
后记
有空的时候补一下 node
和 python
的版本管理