yucatio@システムエンジニア

趣味で作ったものいろいろ

過去バージョンのXcodeの入手方法

前回の続き。 makeコマンドが無かったのでXcodeと付属のコマンドラインツールをインストールしようとしたときの話。

yucatio.hatenablog.com

開発環境

症状

最新のXcodeがダウンロードできない

最新のXcodeはAppStoreからダウンロードできますが、Xcodeを選択してインストール開始したところ、バージョン非対応エラー。そうですよね、こんな古いMacに対応してませんよね。

f:id:yucatio:20160516081911p:plain

対応

さて、ここで選択肢は2つ。

  1. OSをバージョンアップする
  2. 過去バージョンのXcodeを探してインストールする

OSバージョンアップをするべきだとは思うのですが、今まで動いていたアプリが動かなくなるという懸念があるので、今回は見送りました。

過去バージョンのXcodeをダウンロードする

こちらのリンクから探すことが可能です。Xcodeで検索します。詳細を表示して対応バージョンを確認します。

https://developer.apple.com/downloads/?=xcode

バージョン 5.1.1がOS X バージョン 10.8.4(Mountain Lion)に対応しているのでこちらをダウンロードします

f:id:yucatio:20160516083308p:plain

インストールできました

f:id:yucatio:20160516084806p:plain

Macでmake:command not foundとなったときの対処法

開発環境

症状

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からのコマンドラインインストール

Xcode バージョン 5.1.1の場合、 Xcode > Preference > Downloads > Components にある Command Line Tools を選択してインストールします

f:id:yucatio:20160516000020p:plain

インストール後、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

github.com

追記

調べてみると、OS X のバージョンによってコマンドラインツールのインストール方法が違うようで、最近のOSの場合は、コマンドを実行してインストールする必要がありそうです。

関連記事

yucatio.hatenablog.com

yucatio.hatenablog.com

rbenvとruby-buildインストール時に no such command `install' が出た原因と対処法

前回の続き。rubyのバージョンをあげる最中に

no such command `install'

というエラーが出てしまった原因と対処法。

症状

rbenv実行時に no such command `install' というエラーが出た

$ rbenv install -l
rbenv: no such command `install'

原因

gitからcloneするときに、保存先のパスを間違って指定してしまった。

正しい方法

  • rbenvは~/.rbenv
  • ruby-buildは~/.rbenv/plugins/ruby-build

にインストール(clone)する

yucatio.hatenablog.com

間違った方法と解決まで

rbenvとruby-buildのclone (誤った手順)

f:id:yucatio:20160512234646p:plain

f:id:yucatio:20160512234710p:plain

ログインスクリプトの記載 (誤った手順)
$ echo 'export PATH="$HOME/git/rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
動かぬ
$ rbenv install -l
rbenv: no such command `install'
一旦今のリポジトリを消して再度clone実行

f:id:yucatio:20160512225025p:plain

怒られた

f:id:yucatio:20160512235639p:plain

自動的に~/.rbenvにいろいろいろ配置されていたようだ

bash-3.2$ ls -la ~/.rbenv
total 96
drwxr-xr-x  4 xxxx  xxxxx    680 May  7 00:35 .
drwxr-xr-x+ 42 xxxx  xxxxx   1462 May 7 23:42 ..
drwxr-xr-x   2 xxxx  xxxxx    306 May  7 00:35 shims
drwxr-xr-x   2 xxxx  xxxxx    102 May  7 00:26 versions
~/.rbenv消去
$ rm -r ~/.rbenv
再度clone実行

f:id:yucatio:20160512225025p:plain

f:id:yucatio:20160512225044p:plain

ログインスクリプト書き直し
$ vi ~/.bash_profile
# 古い内容を削除して、
export PATH=$HOME/git/rbenv/bin:$PATH
# 正しい内容を記載
export PATH=$HOME/.rbenv/bin:$PATH

# 設定を読み込み
$ source ~/.bash_profile
できた
$ rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  1.8.7-p334
# 後略

言い訳

gitからcloneしてきたものは ~/git 配下に置くようにしてたので今回もその通りにしていました。 PATHでrbenvの場所指定したのでどこにインストールしても大丈夫だと思ってました。 ちゃんとドキュメント読んでおけよという話ですね。

github.com

Rubyのバージョンアップ方法(rbenv使用) - うまくいく場合

PCにインストールされているRubyのバージョンが古かったので、最新の安定板にアップデートしました

開発環境

バージョンアップ手順

現在のバージョンを確認

$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

4年前のバージョンですね

ruby自体のバージョンをあげるにはいくつか方法があるようなのですが、今回は友人おすすめのrbenvを使用します。

rbenvの設定

rbenv を git clone
ソースパス/URL https://github.com/sstephenson/rbenv.git
保存先のパス ~/.rbenv

f:id:yucatio:20160512225025p:plain

ログインスクリプトに必要事項を記載
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

# 初回なのでsourceをする。以降はログイン時に上記コマンドが実行される
$ source ~/.bash_profile

# コマンドの確認
$ which rbenv
/Users/user/.rbenv/bin/rbenv
ruby-buildをgit clone

rubyのバージョン管理にはこのプラグインが必要なようです

ソースパス/URL https://github.com/sstephenson/ruby-build.git
保存先のパス ~/.rbenv/plugins/ruby-build

f:id:yucatio:20160512225044p:plain

インストールできるバージョンの確認
# インストールできるrubyのバージョンを確認
$ rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  1.8.7-p334
# 後略

https://www.ruby-lang.org/ja/downloads/

を確認すると、最新(2016年05月10日時点)の安定版が2.3.1なので、このバージョンをインストールします。 2.3.1がインストールできるか念のため確認。

$ rbenv install -l | grep 2.3.1
  2.3.1

大丈夫そうですね。

rubyのバージョンを指定してインストール
$ rbenv install 2.3.1
Downloading openssl-1.0.2h.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919
Installing openssl-1.0.2h...
Installed openssl-1.0.2h to /Users/user/.rbenv/versions/2.3.1

Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2
Installing ruby-2.3.1...
Installed ruby-2.3.1 to /Users/user/.rbenv/versions/2.3.1
デフォルトで使用するrubyのバージョンを指定する

デフォルトで使用するrubyのバージョンを指定します

$ rbenv global 2.3.1

rubyバージョンの確認

$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin12.0]

バージョンアップできました。

しかし、バージョンアップをする最中にいろいろな問題に遭遇したのでした (次回へ続く)

"パーフェクトRuby on Rails"という本を参考にしています

パーフェクトRuby on Rails

パーフェクトRuby on Rails
著者:すがわらまさのり
価格:3,110円(税込、送料込)
楽天ブックスで詳細を見る

自己紹介。過去の作品とこれから作るもの

はじめまして。yucatioです。よろしくお願いします。

このブログについて

プログラミングしていて気づいたことや作成したアプリの解説を書いています。

プライバシーポリシー

当サイトが使用しているアクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。

このトラフィックデータは匿名で収集されており、個人を特定するものではありません。

この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

Google Analytics Terms of Service | Google Analytics – Google

当サイトに掲載されている広告について

当サイトではGoogleによる広告配信ツール「GoogleAdSense」を利用しています。

このツールは、Google などの第三者配信事業者が Cookie を使用して、ユーザーがそのウェブサイトや他のウェブサイトに過去にアクセスした際の情報に基づいて広告を配信します。

また、Google が広告 Cookie を使用することにより、ユーザーがそのサイトや他のサイトにアクセスした際の情報に基づいて、Google やそのパートナーが適切な広告をユーザーに表示できます。

Googleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。

連絡先

yucatio.com@gmail.com

このブログを書いている人

ネット通販サイトでシステムエンジニアとして働いています。仕事で主に使う言語はJava。趣味でRubyRuby on Railsの勉強を始めました。現在はReactやReduxなどのフロントエンド技術を勉強しています。

過去には趣味でAndroidアプリを作っていました。 作品はこちら

play.google.com

play.google.com

play.google.com

play.google.com

プライバシーポリシー

これらのアプリでは、個人情報の取得を行なっておりません。

広告配信を目的として以下の広告配信事業者がご利用者の情報を自動取得する場合がございます。

AdMob https://support.google.com/admob/answer/6128543