在這篇文章中,我們將討論如何結合rbenvautoenv的功能,在專案中無縫管理Ruby版本和環境變數。讀完本文後,你將清楚地了解如何同時使用這兩個工具,讓你的Ruby開發體驗更加完善。

注意:本教學假設你已安裝rbenvautoenv。如果尚未安裝,請參考rbenvautoenv的安裝說明。

為什麼要同時使用rbenv和autoenv?

rbenv是一個讓你輕鬆管理多個Ruby版本的強大工具。另一方面,autoenv幫助你管理特定於專案目錄的環境變數。同時使用這兩個工具,你可以確保在每個專案中使用正確的Ruby版本和環境變數,而無需手動介入。

設定rbenv與autoenv

在深入範例之前,先來設定autoenv以與rbenv搭配使用。請在你的專案目錄下建立一個新的.env檔案,並加入以下幾行:

export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"

第一行根據.ruby-version檔案的內容設定RBENV_VERSION環境變數。第二行確保rbenv shims目錄在PATH中,使得執行Ruby指令時能使用正確的Ruby版本。

Example 1: 切換Ruby版本

假設你有兩個專案:project_aproject_b。你想對project_a使用Ruby 2.7.4,對project_b使用Ruby 3.0.2。以下是如何用rbenvautoenv達成這個目標:

  1. 在每個專案目錄下建立一個.ruby-version檔案:
echo "2.7.4" > project_a/.ruby-version
echo "3.0.2" > project_b/.ruby-version
  1. 在每個專案目錄下建立一個.env檔案,內容如前所述:
cp .env project_a/
cp .env project_b/

現在,當你切換到project_aproject_b時,autoenv會自動設定RBENV_VERSION並調整PATH以使用正確的Ruby版本。

Example 2: 管理專案專屬的環境變數

假設project_a需要以下環境變數:

  • API_KEY:第三方服務的API金鑰
  • SECRET_KEY:用於加密資料的密鑰

你可以將這些變數加入project_a.env檔案中:

export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"
export API_KEY="your_api_key_here"
export SECRET_KEY="your_secret_key_here"

現在,當你切換到project_a時,autoenv會自動設定RBENV_VERSION、調整PATH,並設定API_KEYSECRET_KEY環境變數。

結論

透過同時使用rbenvautoenv,你可以輕鬆管理Ruby版本和專案專屬的環境變數,而無需任何手動介入。這個組合讓你的Ruby開發體驗更有效率、更不容易出錯。

別忘了將.env檔案加入.gitignore,以避免不小心將敏感資訊提交到版本控制系統中。

完成這些設定後,你將享受到為每個專案量身打造的順暢Ruby開發工作流程。祝你編碼愉快!