介紹
Ruby 是一種動態編程語言,您可以用它來編寫從簡單腳本到遊戲和 Web 應用程式的任何東西。它最早於 1993 年在日本發布,但在 2005 年作為服務器端 Web 開發語言而流行起來。Ruby 設計簡單易用,對於初學者來說很有趣,但同時也強大到足以創建複雜系統。它對於初學者和有經驗的開發人員來說都是一個很好的選擇。
雖然有許多在 Windows 上設置 Ruby 的方法,但微軟建議您使用 Windows Subsystem for Linux(WSL)和 Bash 來進行 Ruby 開發。WSL 是 Windows 10 的一個功能,允許您在 Windows 上運行原生 Linux 命令行工具。許多 Ruby 函式庫設計用於在 Linux 上運行,並且在 Windows 上運行時可能出現問題。
微軟與 Canonical 和其他 Linux 發行版合作,以實現對 Bash shell 和 Linux 命令行工具的原生支持,以解決此問題。安裝了 Bash 和 WSL 後,您將使用您喜愛的 Windows 工具編輯文件,但使用 Bash 和命令行工具來執行 Ruby 及其相關工具。
在這個教程中,您將在本地 Windows 10 機器上使用命令行設置 Ruby 編程環境。您將配置 Windows 上的 Bash,然後使用 RVM(Ruby Version Manager)安裝最新版本的 Ruby 及其相應的先決條件。接著,您將通過編寫一個小的 Ruby 程序來測試您的環境。
先決條件
您需要一台運行 Windows 10 並具有 創作者更新 的計算機,並可以使用管理員特權安裝軟件。
第 1 步 — 安裝 Bash on Windows
您將使用命令行來安裝和使用 Ruby。命令行是與計算機互動的非圖形方式。與使用滑鼠點擊按鈕不同,您將以文本形式輸入命令並獲得基於文本的反饋。命令行,也稱為 shell,讓您自動執行許多您每天在計算機上執行的任務,對於軟件開發人員來說是一個必不可少的工具。
Windows提供了兩個開箱即用的命令行界面:經典的Command Prompt和PowerShell。我們將安裝Bash,這是一個在Linux和macOS上常見的流行外殼和命令語言。
如果你想熟悉使用命令行界面,可以參考Linux終端的介紹。
首先,在您的機器上啟用開發人員模式。要做到這一點,打開設置應用程序,選擇更新與安全性,然後在側邊欄中選擇開發人員。然後勾選開發人員模式並接受要求您驗證此更改的提示。
接下來,打開控制面板並選擇程序。然後選擇啟用或關閉Windows功能。在顯示的組件列表中,勾選Windows子系統用於Linux(Beta)。然後點擊確定,等待Windows安裝額外的組件,這可能需要幾分鐘時間。
系統提示您重新啟動計算機,以確保所有新組件都正確配置。如果您不重新啟動,一切將無法正常工作。
- bash
計算機重新啟動後,打開命令提示符,輸入:
OutputThis will install Ubuntu on Windows, distributed by Canonical
and licensed under its terms available here:
https://aka.ms/uowterms
Press "y" to continue: y
Downloading from the Windows Store... 100%
Extracting filesystem, this will take a few minutes....
系統會提示您從Windows商店安裝Bash。這是一個免費的下載,需要幾分鐘來下載和提取。
OutputPlease create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms.wslusers
Enter new UNIX username: Sammy
Enter new UNIX password:
輸入您想使用的用戶名,按ENTER
,然後輸入密碼。當您輸入密碼時,在終端窗口中不會顯示您的按鍵。這是一項安全措施,當在命令行提示輸入密碼時,您經常會看到這種情況。即使您看不到它們,系統仍在記錄您的按鍵,因此在輸入密碼後,按ENTER
鍵,流程將繼續。
最後,Bash將啟動,您將看到顯示機器名稱的提示。
sammy@yourmachine:/mnt/c/Users/Sammy$
警告:Windows Subsystem for Linux具有其自己的文件系統,存儲在操作系統的隱藏文件中。Microsoft不支持從任何Windows應用程序訪問此文件系統。
但是,您所有現有的文件都可以從Bash shell中訪問。例如,您可以在/mnt/c
目錄中找到C:
驅動器的內容。Microsoft建議您從此文件夾中操作文件。這樣,您可以使用現有的Windows工具打開和修改文件,並仍然可以從Bash shell訪問它們。
嘗試從Windows程序(如文本編輯器、文件管理器和IDE)中訪問Windows Subsystem for Linux文件系統的其他部分的文件可能會導致數據損壞,不受支持。
現在您已安裝並運行Bash,讓我們安裝RVM,我們將用它來安裝Ruby及其所有依賴項。
步驟 2 — 安裝 RVM 和 Ruby
RVM 可自動化在 Ubuntu 或 macOS 系統上設置 Ruby 環境的過程,由於您正在運行的 Bash 設置是基於 Ubuntu 的,這也是在 Windows 上快速設置事物的最快方式。讓我們安裝它,以便我們可以使用它來安裝 Ruby。
使用 RVM 安裝 Ruby 的最快方法是運行托管在 RVM 網站上的安裝腳本。
首先,使用 gpg
命令聯繫公鑰服務器,請求 RVM 項目的密鑰,該密鑰用於簽署每個 RVM 發布版。這讓您可以驗證您將要下載的 RVM 發布版的合法性。
- gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
接下來,安裝 gnupg2
套件,因為 RVM 的安裝腳本將使用其中的組件來驗證發布版。執行此命令以安裝此套件:
- sudo apt-get install gnupg2
系統將提示您輸入密碼,您應該輸入安裝 Bash 時用於 Linux 用戶的密碼。但是,當您輸入密碼時,您的按鍵操作將不會顯示在終端窗口中。這是一種安全措施,在命令行提示輸入密碼時,您會經常看到這種情況。儘管您看不到它們,但您的按鍵操作已被系統記錄下來,因此在輸入密碼後請按一下 ENTER
鍵,流程將繼續進行。
接下來,使用 curl
命令從該專案網站下載 RVM 安裝腳本。引領該命令的反斜線確保我們使用的是正常的 curl 命令,而不是任何已更改或別名的版本。
- \curl -sSL https://get.rvm.io -o rvm.sh
讓我們來看看與 curl
命令相關聯的標誌:
-s
或--silent
標誌將curl
靜音,以免顯示進度表。-S
或--show-error
標誌確保如果失敗,curl
會顯示錯誤消息。-L
或--location
標誌將告訴curl
處理重定向。如果伺服器報告請求的頁面已移至不同位置,它將自動使用新位置再次執行請求。
下載完成後,如果您想在應用之前審核腳本的內容,請運行:
- less rvm.sh
使用箭頭鍵滾動文件。使用 q
鍵退出並返回提示符。
一旦您對腳本的內容感到滿意,執行此命令安裝最新的穩定版本 RVM:
- cat rvm.sh | bash -s stable
該腳本在您的 Linux 使用者家目錄中創建一個名為 .rvm
的新目錄。這是安裝 Ruby 及其所有相關組件的位置,以及您用於安裝 Ruby 的 rvm
可執行程序。安裝過程會修改您的 .bashrc
文件,將 .rvm/bin
文件夾添加到您的 PATH
環境變量中,以便您可以輕鬆運行 rvm
命令。
然而,rvm
命令在您当前的会话中无法访问。因此,请执行以下命令来修复:
- source ~/.rvm/scripts/rvm
现在使用rvm
命令安装最新版本的Ruby:
- rvm install ruby --default
此过程将下载并安装Ruby及其组件,并使此版本的Ruby成为系统将使用的默认版本。这将避免与已安装的Ruby版本发生冲突。
OutputSearching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.0.tar.bz2
如果缺少一些重要的先决条件,安装程序将获取这些先决条件并安装它们:
OutputChecking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system....
Installing required packages: gawk, libssl-dev, zlib1g-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev, libgmp-dev, libreadline6-dev..................
Requirements installation successful.
安装脚本可能会要求您输入密码,请使用您在安装Bash时为Linux用户创建的密码。
一旦满足先决条件,RVM将下载并安装Ruby:
Outputruby-2.4.0 - #configure
ruby-2.4.0 - #download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.4M 100 16.4M 0 0 4828k 0 0:00:03 0:00:03 --:--:-- 4829k
ruby-2.4.0 - #validate archive
ruby-2.4.0 - #extract
ruby-2.4.0 - #validate binary
ruby-2.4.0 - #setup
ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0@global
ruby-2.4.0 - #importing gemset /home/brian/.rvm/gemsets/global.gems..............................
ruby-2.4.0 - #generating global wrappers........
ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0
ruby-2.4.0 - #importing gemsetfile /home/brian/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.4.0 - #generating default wrappers........
脚本完成后,Ruby的最新版本已安装。
除了Ruby之外,RVM还安装了一些相关工具,包括irb
(交互式Ruby控制台),rake
(可以运行自动化脚本的程序)和gem
(可以轻松安装和更新您在项目中使用的Ruby库)。
要检查您安装的Ruby版本,请键入以下命令:
- ruby -v
这将输出Ruby的具体版本:
Outputruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
為了讓RVM在每次打開新的Bash會話時自動使用其版本的Ruby,您必須啟動Bash作為登錄shell,因為RVM修改了.bash_profile
文件,而該文件僅在登錄shell上調用。Bash for Windows快捷方式不會啟動登錄shell,所以如果您要使用Ruby,只需打開新的命令提示符,然後使用bash -l
啟動Bash。
如果忘記了,每次啟動Bash時運行命令source ~/.rvm/scripts/rvm
。
現在Ruby已安裝,讓我們編寫一個程序來確保一切正常運作。
步驟 3 — 創建一個簡單的程序
讓我們創建一個小的“Hello, World”程序。這將確保您的環境正常運作,並讓您熟悉創建和運行Ruby程序。
為此,使用nano
創建一個名為hello.rb
的新文件:
- nano hello.rb
在編輯器中輸入以下程序:
puts "Hello, World!"
按下CTRL+X
退出編輯器。提示保存文件時,按下Y
。
現在運行該程序:
- ruby hello.rb
程序運行並在屏幕上顯示其輸出:
OutputHello, World!
這個小程序證明您擁有一個正常運作的開發環境。您可以使用這個環境繼續探索Ruby並構建更大更有趣的項目。
結論
準備好本地開發環境後,您可以繼續通過閱讀教程 創建您的第一個Ruby程序 來深入了解Ruby編碼。