使用 Ruby
ServBay 為 Ruby 開發者在 macOS 上打造了一個高效且靈活的開發環境。透過 ServBay 的套件管理系統,您可以輕鬆並行安裝與管理多個 Ruby 版本,並利用強大的 .servbay.config
檔案,為每個專案指定所需的 Ruby 版本,簡化開發流程並確保環境一致性。
概述
Ruby 語言簡介
Ruby 是一門動態、開源且面向物件的程式語言,以其純粹且優雅的語法以及對開發者體驗的高度重視而聞名。這門語言由日本計算機科學家松本行弘(Yukihiro "Matz" Matsumoto)於 1990 年代中期創立,設計哲學是「讓編程變得更快樂」。Ruby 受 Perl、Smalltalk、Eiffel、Ada 及 Lisp 等語言影響,強調程式碼可讀性與簡潔。
在 Ruby 裡,「一切皆物件」。它同時支援物件導向、程序式與函數式多種編程範式。Ruby 能夠快速普及至全球,很大程度歸功於 David Heinemeier Hansson (DHH) 在 2004 年釋出的 Ruby on Rails Web 開發框架,使 Web 應用開發效率大幅提升。現在,Ruby 被廣泛應用於 Web 開發(如 Rails、Sinatra)、腳本撰寫、自動化任務、原型設計等領域。其生態系仰賴 RubyGems(套件管理器)以及 Bundler(依賴管理工具)。
ServBay 對 Ruby 的支援
ServBay 將不同版本的 Ruby 解譯器以獨立套件方式管理,帶來以下關鍵優勢:
- 多版本並存: 可同時安裝多個 Ruby 版本(如 Ruby 2.7、3.0、3.3、3.4 等),不必擔心版本衝突。
- 專案級版本控管: 透過 ServBay 專屬的
.servbay.config
檔案,能為每個專案精確指定其依賴的 Ruby 版本。 - 簡單易用的管理介面: 在 ServBay 圖形介面中,您能直觀地檢視、安裝與移除各個 Ruby 版本。
- Gem 套件管理整合: 安裝 Ruby 後,可直接使用
gem
指令管理 RubyGems。
這對於需維護不同 Ruby 版本舊專案、開發新專案(如 Ruby on Rails 應用)或執行特定 Ruby 工具的開發者來說,格外重要。
進入 Ruby 套件頁面
- 開啟 ServBay 應用程式。
- 在左側導覽欄點選
套件 (Packages)
。 - 於
套件
頁面,向下捲動或在左側細分類表中選擇Languages
->Ruby
。 - 右側區域會顯示所有可用 Ruby 套件的清單。
安裝 Ruby
套件列表會清楚展示每一個 Ruby 版本的狀態:
- Package Name: 套件名稱,例如
Ruby 3.3
。 - Version: 該套件的具體版本號。
- Status: 顯示
Installed
(已安裝)或Not Installed
(未安裝)。 - Control: 提供操作按鈕。
若要安裝尚未安裝的 Ruby 版本(例如 Ruby 3.3
):
- 於列表中找到目標版本。
- 確認狀態為
Not Installed
。 - 點擊最右側的 下載/安裝 (Download/Install) 圖示(通常是一個向下箭頭)。
- ServBay 會開始下載並安裝您選定的 Ruby 版本,安裝過程可能需一些時間。
- 安裝成功後,該版本的狀態會變為
Installed
,控制圖示則會變成 卸載 (Uninstall) 圖示(垃圾桶)。
管理已安裝的 Ruby 版本
- 檢視已安裝版本: 列表中
Installed
狀態,讓您一目了然目前環境已安裝的 Ruby 版本。 - 卸載 Ruby: 若不再需要某個已安裝的 Ruby 版本,只需點擊對應的 卸載 (Uninstall) 圖示(垃圾桶),並確認後即可將其自系統移除。
使用已安裝的 Ruby
ServBay 安裝 Ruby 後,會自動將其加入 ServBay 管理的環境變數中。當您在終端機啟動 ServBay 環境時,即可直接使用 ruby
和 gem
指令。
常用指令範例:
檢查當前啟用的 Ruby 版本: 開啟終端機,執行:
bashruby -v
1此指令會顯示目前終端會話中預設啟用的 Ruby 版本,該版本可能受全域設定或專案級
.servbay.config
檔案影響。檢查 RubyGems 版本:
bashgem -v
1安裝 Gem 套件: 例如,安裝熱門的靜態網站產生器 Jekyll:
bashgem install jekyll
1或安裝 Ruby on Rails 框架:
bashgem install rails
1執行 Ruby 腳本: 建立名為
hello.rb
的檔案,內容如下:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"
1
2在終端機執行:
bashruby hello.rb
1
專案級版本管理:.servbay.config
ServBay 的一大核心優勢,是其對專案級環境設定的完整支援。只要在專案根目錄下建立 .servbay.config
檔,可鎖定該專案所需的 Ruby 版本。
優點:
- 多語言管理: 在同一檔案中同時管理 Ruby、PHP、Node.js、Python、Go、Java、.NET 等多種語言的版本。
- 確保一致性: 保證團隊成員或不同部署環境皆使用完全相同的 Ruby 版本。
- 自動切換: 當您以
cd
進入含.servbay.config
的目錄時,ServBay 環境會自動偵測並套用檔案中定義的RUBY_VERSION
。
設定範例:
在您的 Ruby 專案根目錄下建立 .servbay.config
,並新增 RUBY_VERSION
變數以指定所需 Ruby 主版本號(例如 2.7、3.3)。ServBay 會自動選用已安裝同主版本系列中最新的修訂版。
# .servbay.config
# 指定專案使用的 Ruby 主版本(例如 3.3)
# ServBay 會自動選擇已安裝的 3.3.x 系列最新版
RUBY_VERSION=3.3
# 你也可以同時指定其它語言版本與設定
NODE_VERSION=18
# ... 其他設定 ...
2
3
4
5
6
7
8
9
當您於此目錄下開啟終端並啟用 ServBay 環境後,執行 ruby -v
將顯示 .servbay.config
中指定的 Ruby 版本(或該主版本系列中已安裝的最新版本)。
簡單使用案例
讓我們用一個簡單專案來展示 .servbay.config
的用法:
建立專案目錄:
bashmkdir my-ruby-project cd my-ruby-project
1
2建立
.servbay.config
: 在my-ruby-project
目錄下建立.servbay.config
,內容如下:iniRUBY_VERSION=2.7 # 假設您已有安裝 Ruby 2.7.x
1(請確保已於 ServBay 中預先安裝 Ruby 2.7 版本)
撰寫 Ruby 腳本: 建立
app.rb
:ruby#!/usr/bin/env ruby puts "Project is using Ruby version: #{RUBY_VERSION}"
1
2啟用並驗證環境: (請確保終端已啟動 ServBay 環境)於
my-ruby-project
目錄執行:bashruby -v
1輸出應顯示您安裝的 Ruby 2.7.x 版本。
執行腳本:
bashruby app.rb
1輸出應為:
Project is using Ruby version: 2.7.x
(x 代表您安裝的實際修訂號)。安裝專案依賴(範例): 如果專案用 Bundler 管理依賴(如 Rails 專案常見),可執行:
bash# 若尚未安裝 bundler # gem install bundler bundle install
1
2
3Bundler 會依專案的
Gemfile
與當前啟用之 Ruby 版本(2.7.x)自動安裝所需依賴。
若您另有專案需用 Ruby 3.4,只需在該專案的 .servbay.config
設定 RUBY_VERSION=3.4
,ServBay 會在您切換目錄時自動調整 Ruby 執行環境。
整合 Web 伺服器(Rails, Sinatra 等)
若您的 Web 應用使用 Ruby on Rails、Sinatra 或其他框架,通常會搭配 Puma、Unicorn 或 Thin 等應用伺服器。您可以:
- 在 ServBay 中為應用建立一個網站 (Website)。
- 設定 ServBay 提供的 Web 伺服器(Nginx、Caddy、Apache)作為反向代理,將指定網域流量轉發至 Ruby 應用伺服器所監聽的埠(如
http://localhost:3000
或 Puma/Unicorn 的 Unix socket)。
這樣即可享受 ServBay 的網域名稱管理、自動 HTTPS(如有設定)及一致的訪問入口。
結語
ServBay 讓 macOS 上的 Ruby 開發變得格外方便。憑藉直觀的套件管理介面與強大的 .servbay.config
專案級版本控管,讓您可輕鬆管理多套 Ruby 版本及 Gem,確保不同專案環境的獨立與一致,大幅提升 Ruby 開發效率。