Linuxにrbenvとruby-buildでRuby1.8.7を入れてみた


今日の人気記事

  1. SMART ICOCAを発行して使ってみたので良い点悪い点をまとめてみた
  2. GALAXY Note II(SC-02E)をAndroid Lollipop(5.0/CM12.0)にしてみたのでメモを残しておく
  3. 円錐形ドリッパーを買ってみたので台形(扇形)ドリッパーとの違いをまとめてみた
  4. SMART ICOCAの退会(払いもどし)をしてみたので注意すべきことをまとめておく
  5. GALAXY Note II(SC-02E)をAndroid KitKat (4.4.4/CM11)にしてみたのでメモ残しとく
  6. 使わなくなったスマホケース それリサイクル出来ますよ
  7. BIC SIMカウンターでSIMカードをmicro SIMからnano SIMへサイズ変更してみたので残しておく
  8. UFOキャッチャーを使って計1,000円程度でぬいぐるみを4つ取ったので注目すべき点をまとめておく
  9. マウスからトラックボール(親指型/人差し指型)に変えて感じたメリットとデメリット
  10. イオンゴールドカードのインビテーション到着からカード受領までをまとめてみた
この記事の読了時間: 455

ごきげんよう

rbenvとruby-buildでRuby1.8.7を入れる必要があったのでメモとして残しときます。

まずは、rbenvとruby-buildをインストールしてしまいましょう。
rbenvは複数バージョンを切り替えられるもので、ruby-buildはそのプラグインです。
今回gitを使うので先にインストールしておきましょう。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv --version

これで環境が整います。最後のコマンドでバージョンが出ればOK。
ChromebookにLinuxを入れて行っている場合は.bash_profileではなく.bashrcのほうが良いかもしれません。

ちなみにruby-buildを直接コマンドから使いたい場合は

$ cd ruby-build
$./install.sh

とruby-build内のinstall.shを実行すれば使えるようになります。

次に、Rubyの1.8.7を入れますが、

$ rbenv install -l

これでインストールできるバージョンが出てきます。
この中で1.8.7-p375を入れてみます。
なんか、subversionとautoconfが入ってないと怒られるので入れとく。

$ rbenv install 1.8.7-p375
$ rbenv global 1.8.7-p375

これで使えるようになる。
ここでエラーになる場合は、こやつはバージョンによってOpenSSL周りで問題が起きているらしく対策が必要。

Index: ext/openssl/ossl_pkey_ec.c
===================================================================
--- ext/openssl/ossl_pkey_ec.c  (revision 41807)
+++ ext/openssl/ossl_pkey_ec.c  (revision 41808)
@@ -762,8 +762,10 @@
                 method = EC_GFp_mont_method();
             } else if (id == s_GFp_nist) {
                 method = EC_GFp_nist_method();
+#if !defined(OPENSSL_NO_EC2M)
             } else if (id == s_GF2m_simple) {
                 method = EC_GF2m_simple_method();
+#endif
             }

             if (method) {
@@ -817,8 +819,10 @@

             if (id == s_GFp) {
                 new_curve = EC_GROUP_new_curve_GFp;
+#if !defined(OPENSSL_NO_EC2M)
             } else if (id == s_GF2m) {
                 new_curve = EC_GROUP_new_curve_GF2m;
+#endif
             } else {
                 ossl_raise(rb_eArgError, "unknown symbol, must be :GFp or :GF2m");
             }

rbenv を利用した ruby のインストール中にエラーとなる場合の対応 – Qiita
こちらを参考にさせてもらった。

これをpatch.diffなりに保存。

$ cat patch.diff | rbenv install --patch 1.8.7-p375
$ rbenv global 1.8.7-p375

こいつをやるとインストール出来る。これで1.8.7-p375になる。
他のバージョンでも同じようにやってrbenv globalすれば切り替わる。

それでは ごきげんよう

source:
オブジェクト指向スクリプト言語 Ruby

sstephenson/rbenv · GitHub

sstephenson/ruby-build · GitHub

rbenv を利用した ruby のインストール中にエラーとなる場合の対応 – Qiita

RSS/feedlyはこちら

follow us in feedly


プッシュ通知受信はこちら



Twitterアカウントはこちら



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>