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