善其事,利其器(一)——win下的choco

1,479 阅读1分钟

前言

在windows的开发环境下,经常会听到有人关于git,nodejs,python等环境安装的问题。

而大家的普遍做法往往是登陆官网,下载最新的stable版本,或者是自己运行环境的所需要的release版本。

这样和应用程序一样的下载方法给后续的管理,版本的切换以及升级都带来了不便,因此会想到要是可以和linux下的apt-get或者mac下的brew一样对包进行管理就好了。mac下仅需brew list就可以看到所有的包,brew install $package就可以下载好需要的包。

因此本篇介绍windows下的对应的包管理巧克力——choco

环境类型

在介绍choco之前我们需要先理清开发环境中我们所使用的环境类型,以便于自己明确哪些环境丢给choco管理的能发挥它的最大优势。对本章熟悉的同学可以略过。

我们把环境分为以下两大类:

  • 具有图形化界面的应用程序

  • 无图形化,是在程序运行时需要的静默环境

    • 无需版本切换向下兼容的环境
    • 需要版本切换,版本和版本间有较大差异的环境
  1. 具有图形化界面的应用程序:例如我们常用的vscode,jetbrains等,官网下载最新版本用起来就好了,版本更新的时候它会自己推送。

  2. 无图形化,是在程序运行时需要的静默环境:例如git,nodejs,python,jdk,npm,yarn,docker等。

    这种环境大部分是那种部署好了基本可以一劳永逸,运行无感知。没部署好之前“环境搞一周,开发半小时”。

    更可气的是其中有些包还有版本间不兼容问题,一旦遇到版本依赖问题,在windows里,有些开发人员没有进行版本切换管理,他们会通过环境变量来控制。这个问题先挖坑以后补完。

所以第二种类型的很多包,我们其实可以用choco进行统一管理和升级。

介绍

看完上面,choco相信大家就会明白,其实就是windows下包管理工具而已。和apt-get以及homebrew是一样的。

安装

这里直接贴出官网的教程:choco安装教程,然后做一下翻译。

  1. 首先,你需要确保自己开的是管理员权限终端

  2. 使用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'))
    
  3. 把上面的命令行copy进去

  4. 等它安装好

  5. 如果没有报错,试一试 choco 或者 choco -?

使用

  1. 搜索可供安装的包

    e.g. $ choco search python

  1. 安装

    • git

      $ choco install git
      
    • python

      $ choco install python
      
    • node

      $ choco install node
      
    • jdk

      $ choco install jdk8
      

后记

有空的时候补一下 nodepython 的版本管理