で、Mac OS X Lion に installするのだが、いつも通り一筋縄ではいかない。いったいなんでだよ?
default の ruby は 1.8.7で、それで
% gem install rails
とかすると、rack のdependency が解けないとかいうので、そこだけ、gem install rack をやってあげる。しかし、
% rails new ~/src/rails/app1
で、
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.3.5, runtime) for ["actionpack-3.1.3", "rails-3.1.3"], already activated rack-1.4.0 for ["rack-cache-1.1", "actionpack-3.1.3", "rails-3.1.3"] (Gem::LoadError)
とかいう。どうも、rack が再帰的にactivateされるので文句言っているらしい。先のエラーとも関係するらしい。これは諦めた方が良さそうなので、ruby 1.9 でやることに。
epkg には、1.9.1p337 とかいうのがあるので、それを入れるのだが、そうすること今度は、gem intall rails で、
% gem が古い
あ、そうですか。そこで根性が尽きたが、昼飯食いながら、easy package の ruby のversionを 1.9.3 に上げることに。研究室OBがやってくれいたようだが、どうも、Makefile が少し変。
% make Document のmakeに時間が…
% make plist で、もう一度 compile する
% make install しようとすると、install なんてentryがない
確かに、ruby-1.9.3 directory の下は「まっさらなパッケージ」。make plist で make distclean しているせいらしい。make にはかなりの時間がかかるのだが、心で泣きながら、もう一度 make 。三回目だよな、これ。
で、make の途中で、YAMLがなんとかとかいうメッセージを見かけたので libyaml もついでに epkg へ。そして、また、やり直し。おぃ〜
これで、ruby-1.9.3 は epkg に入った。えーと、何やってたんだっけ。そうそう、gem install rails ね。今度は順調に終わる。が、
% rails new ~/src/rails/app1
で、
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for sqlite3.h... yes
checking for sqlite3_libversion_number() in -lsqlite3... no
sqlite3 is missing. Try 'port install sqlite3 +universal'
お前な〜 これは一体なんだろう。もちろん、sqlite3 は入っている。library も /usr/lib なんで落ちるはずないんだが。いったい、どこの sqlite3 呼んでるんだ?
+leo+kono locate sqlite3.h
/usr/include/php/ext/sqlite3/libsqlite/sqlite3.h
/usr/include/sqlite3.h
/usr/local/include/sqlite3.h
わかりましたよ。2006年に入れた sqlite3 が悪さをしていたらしい。sqlite3 を読んだ時があったので、その時のかな。epkg かも。/usr/local な sqlite3 を消して、ようやっと通りましたよ。
ここまでで二時間二十分もかかってるし。
local でやるか、herok でやるかは迷うところだが、まぁ、両方かな。
No comments:
Post a Comment