《Chocolatey – 在Windows 上的套件管理工具 – 學習筆記》工具分享

Telegram share !

從事軟體開發的工程生活中,免不了要安裝各式各樣的軟體套件,在江湖上面大家說如果你是使用Linux開發那你一定會知道APT,使用MAC開發那你一定會知道homebrew(可愛的啤酒logo),但是在Windows上我們要使用什麼工具呢?新增移除程式=>No,Powershell=>No(這是管理Windows官方系統功能的Shell指令),其實Windows上已經有類似的管理工具,如果你沒用過請繼續看下去吧,其實Chocolatey 是一個很方便的軟體Package管理工具,小至7zip、notepad++、filezilla、winrar,大到Visual Studio Code 、JetBrains Pycharm、Sublime Text、Android Studio等龐大的開發工具,你都可以輕鬆用Chocolatey來管理。

安装

最低環境需求

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+

安装Chocolatey

基本上只要你的作業系統是Windows 7以上就可以使用Chocolatey,首先點選開始功能表,找到PowerShell圖示上按下滑鼠右鍵,選擇以管理員身份執行PowerShell,然後輸入以下指令:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装軟體

choco install <packagename> -y

比如我想安装Notepad++,則輸入:

choco install notepadplusplus

想安装git,則輸入:

choco install git 

想安装python 2或python 3,則輸入:

choco install python2
choco install python3

一次安裝多個軟體

choco install notepadplusplus python3 googlechrome -y

移除軟體

choco uninstall <packagename>

如想移除Notepad++

choco uninstall notepadplusplus 

查詢指令用法

choco /?

常用指令速查

# 搜尋套件
choco search <packagename>
 
#Examples
--------------------------------------------------------------------------------------------------------
 choco search git
 choco search git --source="'https://somewhere/out/there'"
 choco search bob -s "'https://somewhere/protected'" -u user -p pass

# 安裝套件
choco install packagename 

# 解除安裝套件
choco uninstall packagename 

# 解除安裝套件與其相依的套件
choco uninstall packagename -x

# 更新全部已安裝套件
choco upgrade all

# 列出所有本地安裝的套件
choco list –local-only

# 更新 chocolatey
choco upgrade chocolatey

# 查出所有過期需要更新的套件
choco outdated 
choco outdated -s https://somewhere/out/there
choco outdated -s "'https://somewhere/protected'" -u user -p pass

# 列出套件資訊
choco info packagename 

uninstall進階技巧分享:

如果想要軟體鎖定在某個版次又不想被自動更新,那你可以用 uninstall的進階參數–skip-autouninstaller,這個指令會將該軟體從Chocolatey移除,但是不會將他解除安裝,日後他也不會被自動更新,是不是很神奇的參數呢。

Examples

choco uninstall notepadplusplus --skip-autouninstaller

可參考:chocolatey Uninstall Command

使用心得

Chocolatey使用到現在的感想是,他會是開發人員的好幫手,因為他可以大大減少開發環境上的套件管理成本,只要每次登入console透過指令即可即時監看各軟體的版本狀況,而且在移除軟體時候只要一行指令就可以快速完成,不用在新增移除清單中找半天,或是有時候新增移除裡面還不一定找的到該軟體的安裝名稱,十分推薦開發人員用他來管理軟體套件。

Reference

(本文首圖來源:wiki