使用 Chocolatey 打造 Windows Dotnet 開發環境
前言
最近已經和 Windows 環境越走越遠,回到家真的操作 Windows 桌機的時候,剪下貼上常常會因為肌肉記憶按錯鍵。在 macOS 中是使用 Command + X 和 Command + V,但在 Windows 必須按 Ctrl,手指卻總是不自覺地往 Alt 的位置按下去(因為鍵盤佈局 Command 類似 Alt 的位置)。再不來把這篇補上的話,這些操作細節應該就會消失在我的記憶中了吧。
想當初上資策會的課的時候,老師會說去下載 Visual Studio 和 SSMS 並安裝,安裝完再來繼續後面的動作,現在想想,還真是個吃時間的動作。
到後面隨著各種工具軟體換代更新、換電腦,或者整個開發環境的虛擬機重建之類的,就會無限 Loop 這種動作,還很怕隨隨便便裝了會影響現在正在執行的專案內容。
現在的話就是能不用 GUI (介面) 就不用 GUI,透過 Chocolatey 來管理電腦上安裝的軟體,已經很久沒有看到 Windows 移除軟體的畫面了(絕對不是換 Mac 的關係)。
環境
- Host - Windows 11
※ 務必注意:Chocolatey 的安裝與軟體部署大多需要寫入系統目錄,所以請確保你的 Terminal 是以「系統管理員身分」執行,不然會噴出一堆紅色錯誤給你看。
安裝 Chocolatey
官方的安裝指令如下(要在 PowerShell 貼上):
1 | 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')) |
安裝完之後,可以透過 choco -v 的指令,來確認現在是否有安裝完成與安裝的版本。
透過 Chocolatey 安裝常用軟體
dotnet開發如果是在windows環境,肯定會使用到號稱地球上最強IDE(沒有之一)的visual studio、dotnet開發一定要安裝的sdk,這些東西都可以透過Chocolatey安裝
雖然專案範本之類的東西,應該還是要打開 visual studio installer 去選擇需要的擴充(像是開發的是Web或者Desktop之類的)比較簡單
個人的安裝清單(如果有需要請換成自己慣用的)
IDE工具
- visualstudio 2026 community (如果是公司提供的應該是不用裝社群版)
- vscode
版本控管工具
- git
壓縮工具
- 7zip
其它
- dotnet-8.0-sdk
- dotnet-10.0-sdk
- nvm - nodejs的版本管理工具,畢竟真的很常會碰到各種全端…
雖然應該可以透過 choco export 將安裝的清單產出,並且透過 install 指令再來做安裝,不過為了方便好懂,還是寫成powershell比較習慣
1 | if (!(Get-Command choco -ErrorAction SilentlyContinue)) { |
安裝完的結果
驗證
實際上應該是裝了dotnet sdk之後,就算沒有IDE工具也能做最簡單的測試了
使用dotnet new搭配現成範本來建立一個馬上能用的專案
然後呼叫dotnet run把app叫起來,接著打開瀏覽器輸入監聽的網址就會看到最簡單的畫面了
1 | 用 blazor 比較花俏,平常應該大部分會使用mvc或api或console之類的範本來建 |
更新軟體
基本上我都是有更新就會更新,所以三不五時我都會輸入 choco upgrade 來做軟體更新的動作
參數all是指所有的package,-y則是shell中,傳遞如果要確認要不要安裝的時候,幫我帶上y
1 | choco upgrade all -y |
結語
這篇的功能介紹得很簡單,因為平常大概有80%時間都在dotnet6以上的專案了,需要用到windows的專案(dotnetcore和dotnet framework)越來越少,結果當初設定了半天,還要透過VPN連到家裡,再來跑一個小程式發出魔法封包,執行Wake on Lan,把windows桌機或筆電喚醒後,再開一個虛擬機繞一圈連上另外一組VPN回到公司的網路,做一輪這樣的流程才能夠順順的開發或維護調整那些古蹟專案,某一天公司的同事忽然問我說是不是某台筆電沒在用了?怎麼都沒有windows更新紀錄,才猛然驚覺我已經整整一個月沒開windows了…。
趁我忘記這些windows的操作前,留下一個建立初始環境的紀錄,免得到時候就想不起來了。
另外還有,最近在專案上做dotnet升級版本的開發環境準備,這個時代有了AI的幫助,一堆shell都可以輕鬆寫成跨平台使用,在MacOS和windows都測過一次能成功的感覺真的不錯,看來有些東西可以拿來玩玩windows~哈哈。