從事軟體開發的工程生活中,免不了要安裝各式各樣的軟體套件,在江湖上面大家說如果你是使用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來管理。
Table of Contents
安装
最低環境需求
- 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
- 官方網站:https://chocolatey.org/
- 套件庫網站:https://chocolatey.org/packages
- Github:Chocolatey CommandsReference
(本文首圖來源:wiki)

你好,我是RD爸,希望透過我的紀錄,可以帶給你一些新的想法~ 專注於各式3C產品的開箱評測、程式相關技術及理財筆記。
email ►[email protected]