« [01]たいらスキー場 - シーズンイン | トップページ | 2010年を振り返る »

2010年12月27日 (月)

MacPortsでgitを入れ直す

MacPorts最近のトレンドを(フツーに)追っかけると、バージョン管理システムはgitということになるワケです。

Railsアプリをよく試させていただいているHerokuでもgitは必須だし、igo-rubyではソースをGitHubで管理している(RubyGems.orgに公開するのに都合が良かった)しで、どこかのタイミングでMacBookにgitをインストールしてあったんだけど、ふと思い立ってgitがどこにインストールされているか調べてみた。

$ which git
/usr/local/git/bin/git

通常、MacPortsでインストールすると/opt/localにインストールされるはずなんだけど、/usr/localに入ってる。
/usr/localに入っているということは、自分の場合、ソースからコンパイルした可能性が高い。(例によって作業ログを取ってなくて全然覚えていない。)

ちゃんと調べてみる。

$ port list installed
Warning: port definitions are more than two weeks old, consider using selfupdate
$ 

やっぱりMacPortsではインストールしていない。(ついでに、selfupdateも最近してない)

というアレで、gitをMacPortsで入れ直してみた。思いがけず苦労したのでメモ。

gitのportsを確認

gitのportsが提供されているか確認する。

$ port search git
 :
git-core @1.7.3.2 (devel)
    A fast version control system
 :

git-core、コレでいいみたい。

現状のgitを無効にする

とりあえず今のgitを無効にしておく。いきなりアンインストールしてMacPortsが失敗したら、またgitをソースからコンパイルしなきゃいけなくなるので、ここは慎重に。(と言ってもリネームするだけだけど。)

$ cd /usr/local/
$ sudo mv git git.org

確かに使えなくなった。

$ git status
-bash: /usr/local/git/bin/git: No such file or directory
$ which git
$

selfupdateする

$ sudo port selfupdate
Warning: port definitions are more than two weeks old, consider using selfupdate
--->  Updating the ports tree
 :
The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated

インストールされているportsをアップグレードするにはport upgrade outdatedを実行すべき、らしいけど今はとりあえずgitを入れたいので、ここでは置いておく。

gitをインストールする

gitをMacPortsを使用してインストールする。portsは上記で調べたgit-core。

$ sudo port install git-core
--->  Computing dependencies for openssl
 :
--->  Fetching db46
--->  Attempting to fetch patch.4.6.21.1 from http://download.oracle.com/berkeley-db/patches/db/4.6.21/
--->  Attempting to fetch patch.4.6.21.2 from http://download.oracle.com/berkeley-db/patches/db/4.6.21/
--->  Attempting to fetch patch.4.6.21.3 from http://download.oracle.com/berkeley-db/patches/db/4.6.21/
--->  Attempting to fetch patch.4.6.21.4 from http://download.oracle.com/berkeley-db/patches/db/4.6.21/
--->  Attempting to fetch db-4.6.21.tar.gz from http://download-west.oracle.com/berkeley-db/
--->  Verifying checksum(s) for db46
--->  Extracting db46
--->  Applying patches to db46
--->  Configuring db46
Error: db46 requires the Java for Mac OS X development headers.
Error: Download the Java Developer Package from: 
Error: Target org.macports.configure returned: missing Java headers
Error: Failed to install db46
Log for db46 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_db46/main.log
Error: The following dependencies were not installed: python26 db46 gdbm rsync popt
Error: Status 1 encountered during processing.
To report a bug, see 

エラーで停止…。orz
db46(Berkeley-DB?)というモジュール?をインストールするために"Java for Mac OS X development headers"が必要らしい。
メッセージにhttps://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719からJava Developer Packageをダウンロードしなさい、とあるので素直に従うことにする。

このページにアクセスし、Apple IDを入力。

20101227_01

Java Developer Package for Mac OS X 10.6 Update 3をダウンロードして実行。

20101227_02

インストーラが起動するので

20101227_03

"続ける"を押下していき

20101227_04

インストール完了。
再びgit-coreをインストールする。

$ sudo port install git-core
--->  Computing dependencies for git-core
 :
--->  Fetching git-core
--->  Attempting to fetch git-1.7.3.4.tar.bz2 from http://distfiles.macports.org/git-core
--->  Attempting to fetch git-manpages-1.7.3.4.tar.bz2 from http://distfiles.macports.org/git-core
--->  Attempting to fetch git-htmldocs-1.7.3.4.tar.bz2 from http://distfiles.macports.org/git-core
--->  Verifying checksum(s) for git-core
--->  Extracting git-core
--->  Applying patches to git-core
--->  Configuring git-core
--->  Building git-core
--->  Staging git-core into destroot
--->  Installing git-core @1.7.3.4_0+doc+python26
--->  Activating git-core @1.7.3.4_0+doc+python26
--->  Cleaning git-core

今度はうまく入ったみたい。
ターミナルを再起動して

$ git --version
git version 1.7.3.4
$ which git
/opt/local/bin/git

新しく1.7.3.4がインストールされた。ちゃんと/opt/localに入ってる。

古いgitを削除

ひと通りMacPortsでインストールしたgitが正しく動作していることを確認したあと、古いgitを削除する。

$ sudo rm -rf /usr/local/git.org

以上で、今後もよく使うであろうgitのパッケージ管理をMacPortsに移行できた、はず。
年末にちょっとスッキリ。

|

« [01]たいらスキー場 - シーズンイン | トップページ | 2010年を振り返る »

Apple」カテゴリの記事

tech」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/16742/50410274

この記事へのトラックバック一覧です: MacPortsでgitを入れ直す:

« [01]たいらスキー場 - シーズンイン | トップページ | 2010年を振り返る »