如何透過 rbenv 對 shell 腳本使用指定版本的 ruby​​?

如何透過 rbenv 對 shell 腳本使用指定版本的 ruby​​?

我將用 ruby​​ 編寫一些簡短的腳本。我想透過 shebang 或其他方式指定 ruby​​ 版本。

我將在許多環境中使用該腳本。我在環境中使用 rbenv,但不確定安裝了哪個版本的 ruby​​。

如果未安裝指定版本的 ruby​​,則該腳本必定會失敗。

我該怎麼做?我應該遵循什麼好方法嗎?

答案1

根據官方文檔聽起來你只需要在腳本前面加上這樣的前綴:

#!/usr/bin/env ruby

然後執行下列其中一個操作來確定rbenv要使用哪個版本的 Ruby:

摘抄:https://github.com/sstephenson/rbenv

選擇 Ruby 版本

當您執行填滿程式時,請rbenv透過以下順序從下列來源讀取來確定要使用的 Ruby 版本:

  1. 環境RBENV_VERSION變數(如果指定)。您可以使用rbenvshell 命令在目前 shell 會話中設定此環境變數。

  2. .ruby-version透過搜尋正在執行的腳本的目錄及其每個父目錄直到到達檔案系統的根目錄找到的第一個檔案。

  3. .ruby-version透過搜尋目前工作目錄及其每個父目錄直到到達檔案系統的根目錄找到的第一個檔案。您可以.ruby-version使用本機命令修改目前工作目錄下的檔案rbenv

  4. 全域~/.rbenv/version文件。您可以使用全域命令修改此文件rbenv。如果全域版本檔案不存在,則假設您想要使用「系統」Ruby,也就是如果不在您的路徑中rbenv則執行任何版本。rbenv

.ruby-version然後,您可以使用此命令在目錄中建立一個檔案以及 Ruby 腳本。

$ rbenv local 1.9.3-p327

相關內容