開発環境
- OS : Mac OS X バージョン 10.8.4
症状
rubyのインストール中、 makeコマンドが見つからないというエラーが出た
$ rbenv install 2.3.1 Downloading openssl-1.0.2h.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919 Installing openssl-1.0.2h... BUILD FAILED (OS X 10.8.4 using ruby-build 20160426) Inspect or clean up the working tree at /var/folders/hz/b4j1y31166xchfpzkhmg1_jr0000gn/T/ruby-build.20160508134848.45570 Results logged to /var/folders/hz/b4j1y31166xchfpzkhmg1_jr0000gn/T/ruby-build.20160508134848.45570.log Last 10 log lines: PROCESSOR = RANLIB =true ARFLAGS = PERL =/usr/bin/perl SIXTY_FOUR_BIT_LONG mode DES_UNROLL used DES_INT used RC4_CHUNK is unsigned long sh: make: command not found /Users/user/.rbenv/plugins/ruby-build/bin/ruby-build: line 564: make: command not found
whichで確認すると、何も表示されません
$ which make
対応と解決策
パスの確認
まずはパスの確認から。rbenvのインストールでパスを書き換えた際に、コマンドをミスしていないかどうかを確認します。
$ echo $PATH /Users/user/.rbenv/shims:/Users/user/.rbenv/bin:/Users/user/.rbenv/shims:/Users/user/git/rbenv/bin:/Users/user/.rbenv/shims:/Users/user/git/rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/opt/X11/bin
/usr/bin, /binなどが含まれているので、パスは問題なさそうですね。 makeは通常 /usr/bin/make にインストールされているので、一応確認します
$ ls /usr/bin/make
ls: /usr/bin/make: No such file or directory
やっぱり無い
makeコマンドのインストール
Googleで調べたところ、Xcodeのコマンドラインツールをインストールすればmakeコマンドもインストールされるようです。
Xcode バージョン 5.1.1の場合、 Xcode > Preference > Downloads > Components にある Command Line Tools を選択してインストールします
インストール後、makeコマンドのありかを確認してみると、/usr/bin/makeが表示されました。無事makeコマンドがインストールされました。
$ which make /usr/bin/make
こちらの記事が大変参考になりました。
Mac OS X Lion で、makeコマンドないやんけ!という時の対処方法 - @kaoritter BLOG
試していませんが、以下のコマンドでもコマンドラインツールをインストールできるようです。
$ xcode-select --install
また、ruby-buildの公式のwikiでは、コマンドラインツールおよびhomebrew The missing package manager for macOS (or Linux) — Homebrew のインストールを実施後、下記コマンドを実施することを推奨しています。
brew install openssl libyaml libffi
追記
調べてみると、OS X のバージョンによってコマンドラインツールのインストール方法が違うようで、最近のOSの場合は、コマンドを実行してインストールする必要がありそうです。