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

ごきげんよう

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

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

[shell]
$ 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
[/shell]
これで環境が整います。最後のコマンドでバージョンが出ればOK。
ChromebookにLinuxを入れて行っている場合は.bash_profileではなく.bashrcのほうが良いかもしれません。

ちなみにruby-buildを直接コマンドから使いたい場合は
[shell]
$ cd ruby-build
$./install.sh
[/shell]
とruby-build内のinstall.shを実行すれば使えるようになります。

次に、Rubyの1.8.7を入れますが、
[shell]
$ rbenv install -l
[/shell]
これでインストールできるバージョンが出てきます。
この中で1.8.7-p375を入れてみます。
なんか、subversionとautoconfが入ってないと怒られるので入れとく。

[shell]
$ rbenv install 1.8.7-p375
$ rbenv global 1.8.7-p375
[/shell]
これで使えるようになる。
ここでエラーになる場合は、こやつはバージョンによってOpenSSL周りで問題が起きているらしく対策が必要。

[shell]
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");
}
[/shell]

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

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

[shell]
$ cat patch.diff | rbenv install –patch 1.8.7-p375
$ rbenv global 1.8.7-p375
[/shell]
こいつをやるとインストール出来る。これで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アカウントはこちら