2017-06-14 7 views
1

Rubyのバージョンをアップグレードした後、(期待どおり)私のサーバーを起動して古いプロジェクトで動かすときに問題が発生しました。特定のプロジェクトに対してRubyのバージョンをローカルに切り替える方法が不思議です。 Rbenvのgithubページでは、これを行う方法のコマンド例として$ rbenv local 1.9.3-p327を使用しています。私が知りたいのは、-p327が指していること、私の場合に何が必要なのか、それが必要なのかということです。例えば、$ rbenv local 2.3.1を実行するだけですか? RBENVについて:ローカルでRubyのバージョンを切り替える

は(私の場合、私は現在、私は過去を得ることができないよう工夫宝石のエラーを回避するためのRuby -v 2.4.0以前のバージョンに戻したい使用しています。)

答えて

1

あなたの他の質問に答えるために、

Rbenvのgithubのページには、これを行う方法の一例コマンドとして$ rbenv local 1.9.3-p327使用しています。私が知りたいのは、-p327が何を指しているかです。

Rubyの古いバージョン管理ポリシーはMAJORでした。 MINORTEENYからPATCH

p327は、単に基本的MINOR番号のインクリメント後の各受け入れパッチ毎にインクリメントされます数であり、パッチレベルを指します。 Prior to Ruby 2.1の場合、セキュリティ修正によってTEENYのバージョンが増えないため、一部のリリースでパッチレベルが指定されています。

+0

ああ...それはそれを説明する!バージョンを切り替えるときに必ずしも必要なわけではありません。バージョンを切り替えるときに、最新のパッチレベルを追跡して使用することをお勧めしますか?アダムに感謝します。 – Belder

+0

@BrandonElder一般的に、あなたは 'MINOR'バージョンをターゲットにしたいと思っています。 '2.3'、そして通常は' TEENY'バージョンのウィグルルームがあります。いくつかのプロダクション環境がより厳格なので、YMMVです。疑わしい場合は、本番環境で実行されているバージョンを選択してください。 2.1のポリシー変更がリンクされているので、リリースでは別のパッチレベル番号は表示されません。 –

+0

素晴らしい情報....すべてが今働いているようです。再度、感謝します。 – Belder

2

$ rbenv local 2.3.1ますあなたが推測したのとまったく同じです。プロジェクト固有のバージョンのRubyは、プロジェクトディレクトリの.ruby-versionファイルで設定します。この設定は、特に指定されていない場合はRubyのバージョンを設定するrbenv globalの使用よりも優先されます。

+0

あなたは13秒早く私に答えました;) – gates

+0

Ok ...そして、応答に感謝します。私の唯一の混乱は、プロジェクトディレクトリに '.ruby_version'という名前のファイルがないように思えることです。私はこれをどこで見つけ、それを別の名前にすることができるでしょうか? – Belder

+0

'.ruby-version'は' .ruby_version'ではありません –

1

Rbenvは、rubyバージョンのプロジェクトを検出するために.ruby-versionファイルを使用しています。を使用しています。あなたはそのファイルを持っていますか?

あなたのプロジェクトで使用されているrubyのバージョンに基づいて、あなたのファイルに数字を書いてください。

例:2.3.0

+0

ああ、あなたの反応に気付かなかった...ありがとう。 @MarsAtomicにコメントしたので、私は '.ruby_version'という名前のファイルを持っていないようです。私はなぜ私のプロジェクトでそれを持っていないだろうと思っていますか? – Belder

+1

さて、見つからない場合は、.git :)と同じ階層に作成してください。プロジェクトのルビーのバージョンは、@BrandonElder – gates

+0

okです。クールです。 .. どうもありがとう。 – Belder

関連する問題