LoginSignup
5
3

More than 5 years have passed since last update.

MacにRubyをソースからインストールする

Posted at

諸事情によりHomebrewが使えない環境のMacにRubyをソースからインストールしようとしたら地味にハマったので、手順を記録しておこうと思います。

環境

  • Mac OS X 10.11.6 El Capitan
  • Xcode 8.2.1
  • Ruby 2.4.1
  • OpenSSL 1.1.0e
  • readline 7.0

手順

OpenSSLのインストール

ソースをダウンロードして展開

コマンド
$ cd
$ curl https://www.openssl.org/source/openssl-1.1.0e.tar.gz -O
$ tar -zxvf openssl-1.1.0e.tar.gz
$ cd openssl-1.1.0e

設定、ビルド、インストール

コマンド
$ ./config --prefix=$HOME/openssl
$ make
$ make test
$ make install

※prefixは任意

readlineのインストール

ソースをダウンロードして展開

コマンド
$ cd
$ curl http://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-7.0.tar.gz -O
$ tar -zxvf readline-7.0.tar.gz
$ cd readline-7.0

設定、ビルド、インストール

コマンド
$ ./configure --prefix=$HOME/readline
$ make
$ make install

※prefixは任意

Rubyのインストール

ソースをダウンロードして展開

コマンド
$ cd
$ curl https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2 -O
$ tar -jxvf ruby-2.4.1.tar.bz2
$ cd ruby-2.4.1

設定、ビルド、インストール

コマンド
$ ./configure --prefix=$HOME/ruby \
  --with-openssl-dir=$HOME/openssl \
  --with-readline-dir=$HOME/readline \
  LDFLAGS="-L$HOME/openssl/lib -L$HOME/readline/lib" \
  CPPFLAGS="-I$HOME/openssl/include -I$HOME/readline/include"
$ make
$ make test
$ make install

※prefixは任意
※--with-openssl-dirなどの各ディレクトリは、前述の手順で指定したprefixに合わせる

パスを追加

コマンド
$ echo export PATH='$HOME/ruby/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile

※パスはRubyのprefixに合わせる

動作確認

Rubyのバージョン確認

コマンド
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin15]

gemの更新(※1)

コマンド
$ gem update --system

gemのバージョン確認

コマンド
$ gem -v
2.6.12

irbでの日本語入力確認(※2)

コマンド
$ irb
irb(main):001:0> 'てすと'
=> "てすと"

注釈

※1
Rubyのインストール時にOpenSSLを正しく指定していないと、gem update --system 実行時に以下のエラーになります。

コマンド
$ gem update --system
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
# 以下略

暫定策としては、gemのsourceをhttpサーバに変更する方法もあります。

コマンド
$ gem source --add http://rubygems.org/
$ gem source --remove https://rubygems.org/

※2
Rubyのインストール時にreadlineを正しく指定していないと、日本語の入力ができません。

コマンド
$ irb
irb(main):001:0> '\U+FFE3\U+FFA6\U+FFE3\U+FFE3\U+FFA8' # <= 'てすと'と入力できない
=> ""

以上です。

5
3
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
3