Ruby で短いスクリプトを書くつもりです。そして、shebang または別の方法で Ruby のバージョンを指定したいと思います。
このスクリプトは多くの環境で使用します。環境では rbenv を使用していますが、どのバージョンの ruby がインストールされているかはわかりません。
指定されたバージョンの Ruby がインストールされていない場合、スクリプトは失敗します。
どうすればいいでしょうか?従うべき良い方法はありますか?
答え1
による公式ドキュメント次のようにスクリプトにプレフィックスを付ける必要があるようです:
#!/usr/bin/env ruby
rbenv
次に、使用する Ruby のバージョンを指定するために、次のいずれかを実行します。
抜粋:https://github.com/sstephenson/rbenv
Rubyのバージョンの選択
shim を実行すると、
rbenv
次のソースからこの順序で読み取って、使用する Ruby バージョンを決定します。
指定されている場合、環境変数。現在のシェル セッションでこの環境変数を設定するには、shell コマンド
RBENV_VERSION
を使用できます。rbenv
.ruby-version
実行中のスクリプトのディレクトリとその親ディレクトリをそれぞれ検索して、ファイルシステムのルートに到達するまで、最初に見つかったファイル。
.ruby-version
現在の作業ディレクトリとその各親ディレクトリをファイルシステムのルートに到達するまで検索して最初に見つかったファイル。.ruby-version
現在の作業ディレクトリ内のファイルは、rbenv
local コマンドを使用して変更できます。グローバル
~/.rbenv/version
ファイル。このファイルは、global コマンドを使用して変更できますrbenv
。グローバル バージョン ファイルが存在しない場合は、 「システム」Ruby (つまり、パスにないrbenv
場合は実行されるバージョン) を使用すると想定されます。rbenv
.ruby-version
このコマンドを使用して、 Ruby スクリプトとともにディレクトリ内にファイルを作成できます。
$ rbenv local 1.9.3-p327