質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • Ruby

    7650questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    7256questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

rbenvのインストール

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 445

Yuinyan

score 229

前提・実現したいこと

現在利用しているVPSにすでにrubyがインストールされているのですが、バージョンアップをしたいのですが、現在インストールしたものはソースからビルドしたものです。

このような状況で、バージョンアップするにはどうすれば良いのでしょうか。
又、rbenvを新たに入れるということは可能なのでしょうか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

VPSなどで運用しているproduction環境ならバージョンを使い分けるのは、バージョンアップ時くらいなので、
rbenvではないほうが分かりやすい気もします。

自分の場合は、こんな感じでやっています。

/home/railsユーザ/
 local/
   ruby -> ruby-2.3.1  (シンボリックリンク)
   ruby-2.3.1/
   ruby-2.3.3/

例えば、~/.bash_profile にこんな風に書いておきます。

RUBY_HOME=$HOME/local/ruby
...
PATH=$RUBY_HOME/bin:$PATH
export PATH
....

例えば、2.3.1、2.3.3をソースでインストールしておきます。

cd ~/
mkdir -p ~/work
cd ~/work
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz

cd ~/work
tar xvzf ruby-2.3.1.tar.gz
cd ruby-2.3.1/
./configure --prefix=$HOME/local/ruby-2.3.1 
make 
make install

cd ~/work
tar xvzf ruby-2.3.3.tar.gz
cd ruby-2.3.3/
./configure --prefix=$HOME/local/ruby-2.3.3 
make 
make install

これで、
~/local/ruby-2.3.1
~/local/ruby-2.3.3
が存在するので、シンボリックリンクとして ~/local/ruby を作成すれば切り替えできます。

シンボリックリンクを切り替える例

  • シンボリックリンク(~/local/ruby)を削除
  • シンボリックリンクを作成(使いたいrubyのパスを指定)
rm -f ~/local/ruby
ln -s ~/local/ruby-2.3.1 ~/local/ruby

rm -f ~/local/ruby
ln -s ~/local/ruby-2.3.3 ~/local/ruby

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/13 12:09

    そんなことができるのですね!CapistranoでDeployしているのですが、その場合でも大丈夫でしょうか。

    キャンセル

  • 2017/01/13 12:12

    Capistranoは使っていないので分かりませんが、この作業は単にコマンドを打ち込むだけなので可能な気がします。

    キャンセル

  • 2017/01/13 17:55

    有難うございます!なかなかネット上にない情報、有難うございます。

    キャンセル

0

複数のバージョンを使い分ける必要がないなら、またソースからビルドしてmake installで上書きすればいいです。
この場合、元のバージョンに戻したければ、また上書きです。

また、rbenv を追加でインストールすることも自由です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/13 11:41

    追加でrbenvをインストールすることもできるのですね。例えば、ソースからビルドしたrubyが/usr/local/bin/ruby に入っていて、rbenvで追加したrubyは別の場所にあるということになるのでしょうか。その時にどっちを使う、みたいな指定はできるのでしょうか?

    キャンセル

  • 2017/01/13 14:55

    はいできます。
    rbenvでインストールした2.4、2.3、ソースから入れた2.2があるとして、それぞれ選択できます。
    rbenv global 2.4.0 とか rbenv global system (元々のPATHに入っているruby)とか。

    キャンセル

  • 2017/01/13 17:54

    そうなんですね!
    有難うございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Ruby

    7650questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    7256questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。