LoginSignup
5
5

More than 3 years have passed since last update.

Arch系LinuxにRuby2.3系以前をrbenvでインストールする

Last updated at Posted at 2018-05-07

はじめに

mikutterを使いたいと思いたち、そのためにはruby 2.3系以前を使わないといけない事に気づいた @maskuarade です。(追記)
手元の環境はmanjaro linuxですがベースはArchなので基本的には同じです。
前提として、rbenvとruby-buildがインストール済であることを想定します。

Arch でのインストールの仕方

yaourt rbenv
yaourt ruby-build

でそれぞれ aur/rbenv, aur/ruby-build を選択してインストールします。

インストールの失敗

早速 rbenv install 2.3.7 と勢い良く打ち込み、Let's install! と行きたいところですがエラーが出ます。
以下、エラーです(読み飛ばして頂いて結構です)。

Downloading ruby-2.3.7.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.7.tar.bz2
Installing ruby-2.3.7...

BUILD FAILED (ManjaroLinux 17.1.9 using ruby-build 20180329)

Inspect or clean up the working tree at /tmp/ruby-build.20180507235750.29802
Results logged to /tmp/ruby-build.20180507235750.29802.log

Last 10 log lines:
make[1]: *** [exts.mk:212: ext/openssl/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
linking shared-object json/ext/generator.so
make[2]: ディレクトリ '/tmp/ruby-build.20180507235750.29802/ruby-2.3.7/ext/json/generator' から出ます
linking shared-object objspace.so
make[2]: ディレクトリ '/tmp/ruby-build.20180507235750.29802/ruby-2.3.7/ext/objspace' から出ます
linking shared-object nkf.so
make[2]: ディレクトリ '/tmp/ruby-build.20180507235750.29802/ruby-2.3.7/ext/nkf' から出ます
make[1]: ディレクトリ '/tmp/ruby-build.20180507235750.29802/ruby-2.3.7' から出ます
make: *** [uncommon.mk:203: build-ext] エラー 2
  279.68s user 29.53s system 172% cpu 2:58.82 total

解決策

Arch Wiki rvmのページruby-buildのwikiをゲロゲロいいながら漁っていたら該当しそうなものを見つけました。

rubyをコンパイルする時に、Archでは(ローリング・リリースで更新が早い故に)、opensslの1.1を使おうとするようですが、rubyの2.3系以前では1.0系を使う必要があるので、指定してビルドします。

# openssl 1.0 をインストールしていない場合
sudo pacman -S openssl-1.0
# rubyのビルド
PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig rbenv install 2.3.7

最後に

これで多くの迷える人が救われ、Rubyist, Rubyminerが増える事を願います。
これでmikutter使えるかな?なんて思っていたら他の人のForkを見ていただけでした。2.3系どころか2.6でも使えるんでなかろうか。
南無。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5