用 WSL 在 Windows 上打造 Linux 的開發體驗

延續上一篇,打造舒適的 Windows + Mac 雙系統開發環境,打算用一系列的文章,一一來介紹開發各種環境。
打造舒適的雙系統開發環境 Windows + Mac 雙刀流

重度 Mac / Linux 開發者,嘗試 Windows 開發

先來說說我是個怎麼樣的人,我是個 Mac / Linux 重度使用者,學生時期使用 Windows 開發實在雷,光是搞環境平均就要花一個禮拜以上。再換成一台二手的 Macbook 之後就一路大順暢,從此只用 Mac / Linux 環境開發。

直到最近看到強者我朋友用 Windows 用得滿順的,不僅 Web 這些比較通用的東西跑得順,連 Linux 套件和 Docker 甚至 K8S 都可以順利執行。於是我就買了一台 Windows 電腦,那就來打造出能夠媲美 Linux 開發環境的舒適 Windows 開發體驗吧!

對 Window 敬而遠之的時期

過去幾年我的主力開發環境以 Mac 或是 Linux 為主要開發環境,主要的原因是,有許多 Linux 的套件在 Windows 上不太穩定,安裝時發生的錯誤,10 台有 7 台會發生不一樣的情況。可能是軟體發生問題,也有可能是硬體導致,雖然說最終還是可以找到解決方案,可是每台電腦或是重灌都要重複花費大量時間的時間在處理環境。讓我這個 Windows 使用者毅然決然使用 Macbook 做為開發工具,這一用下去,也用了 7 年以上了。

長年使用 Mac 的我,為什麼想要使用 Windows 開發?

第一個原因是,看到強者我朋友 Windows 上跑各種環境跑的很順,滿讓我訝異的,因為以往雷到爆的 Windows,好像突然間不雷了?

但現在的 Windows 滿穩定的,我觀察了一些現象,在安裝了一些套件之後,沒有發生以前動不動就爆炸,卻又非常難排除的情形。

Cmder — 類似 Linux 的開發體驗

Cmder 安裝很簡單,去官方網站下載即可使用,選擇完全安裝的話,可以連 git 一起安裝起來。可以說是懶人最快建置好環境的方式。

不過由於 Cmder 只是提供一些「類似」Linux 的體驗。並且他是一種「終端機」,所以並不能解鎖好用的 Linux 開發環境。因此接著介紹下一個好冰友 WSL。

WSL — 如果想要一勞永逸,選他

WSL 讓 Windows 使用者,不必透過虛擬機,就能直接使用 Linux 環境。現在,Windows 變得對 Linux 開發者更友善。

可以使用 Linux 指令來操作 Windows 系統,令我感到驚豔。以前裝 Linux 套件用一堆奇怪的方法,最後還是裝不好,現在可以直接在 Windows 無縫銜接 Linux,真滴棒!

WSL 讓我們可以在 Windows 上體驗到 Linux 的開發流暢感。

附上 WSL 的架構圖,簡單的說 Linux 的指令會被轉成 NTCore 的 system call,來達到期待的效果。例如:ls 可以列出檔案,

ps: 想要深入了解 WSL 原理請看這篇 :WSL 原理介紹

WSL 的安裝

按照下面網頁逐一步驟安裝即可,下面連結中有幾個步驟,依序跑完,即可安裝完成。建議不要參加實驗計畫當白老鼠,跑幾個

如果沒有加入微軟的實驗計畫,那下面連結中有幾個步驟,依序跑完,即可安裝完成。我自己是沒有參加實驗計畫當白老鼠,指令貼一貼比較省事。

參考連結:在 Windows 10 上安裝適用於 Linux 的 Windows 子系統 (WSL)

有了 WSL 之後,來個終端機吧!

安裝好 WSL 以後,你就可以在 Windows 上面使用 Linux 指令,該怎麼使用終端機呢?

打開終端機,輸入 wsl 即會進入 WSL 的環境,並且會將路徑綁定到 Windows 的檔案系統上。下面使用的終端機為 Windows Terminal。

Terminal 終端機的選擇

終端機有幾個選擇,如果你是 Windows 慣用的使用者,你可使用 Cmder 來開啟 WSL,因為你已經習慣了 Cmder 帶來的整合度與習慣。Cmder 也滿漂亮的,只是有些地方,還是需要設定和調教,才能符合自己的使用習慣,例如:$ 的取代 … 等等瑣碎的小事。

如果你是輕量使用者 ,對終端機不是很熟悉,可以用用看 Windows Terminal。微軟推出了一款 Terminal,簡單素雅的頁面,可以輕鬆切換 Powershell 與 WSL 環境,好像也有很多主題可以客製,算是一個簡單好上手的組合。

順帶一提,來看看 Powershell 原始的終端機有多恐怖!!藍色的底,加上進入 WSL 的藍色字體,根本是眼睛殺手,哎呀~我的眼睛業障重!

最後一個選項是使用 VS Code 來整合 WSL,方便大家開發的時候順便使用 VSCode 直接下指令。我覺得這也不失為一個理想的開發環境解決方案。

小結

讓 Windows 上也可以擁有舒適的開發環境是突破自己舒適圈的一小步,現在微軟越來越邁向開源,給他一次機會,雖然因為 Windows 的更新非常的奇葩,你不更新還要給你強制更新,根本使用者體驗殺手,這個情形讓我不會想要轉移主要開發環境過去,但,現在 Windows 是否已經是一個「還可以」的開發環境了呢?我覺得是 ok 的。

希望這篇有幫助到 Windows 使用者的你😃

歡迎訂閱,獲取最新資訊、教學文章,一起變強。

評論