«前の日記(2010-04-12(Mon)) 最新 次の日記(2010-04-18(Sun))» 編集

これ日記なん?


2010-04-14(Wed) [長年日記]

_ OpenSkipふたたび(v1.7.1)

やっと手元でOpenSkipが動いたので書いておく。rvmを利用。 ソースはgithubからcloneして、git checkout -t -b v17stable origin/1-7-stableした。

$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
bullet (1.7.6)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
diff-lcs (1.1.2)
eventmachine (0.12.10)
fastercsv (1.5.1)
fastthread (1.0.7)
feed-normalizer (1.5.2)
gem_plugin (0.2.3)
gettext (2.1.0, 2.0.4)
gettext_activerecord (2.1.0, 2.0.4)
gettext_rails (2.0.4)
haml (2.2.17)
hpricot (0.8.2)
httpclient (2.1.5.2)
json (1.2.0)
locale (2.0.5, 2.0.4)
locale_rails (2.0.5, 2.0.4)
maedana-ar_mailer (2.1.6.2)
mongrel (1.1.5)
mysql (2.7)
nokogiri (1.4.1)
oauth (0.3.6)
openskip-open_id_authentication (1.0.1)
openskip-repim (0.1.11)
openskip-skip_embedded (0.9.19)
rack (1.0.1)
rails (2.3.5)
rak (1.0)
rake (0.8.7)
ruby-hmac (0.4.0)
ruby-openid (2.1.7)
sanitize (1.2.0)
searchlogic (2.4.7)
simple-rss (1.2.2)
thin (1.2.7)
will_paginate (2.3.12)

得られた知見:

can't activate .... already active "hoge"みたいなのがでたときは、バージョン違いのgemが入ってることが多い。 rakで検索しよう。

たとえばはまったものといえば、hamlがあって。

$ rak haml
config/environments/development.rb
  20|config.gem 'haml', :version => '2.2.17'

普通に入れるとopenskip-skip_embeddedの依存関係で最新のhamlが入った(今回は2.2.23)ので、activateコードを生成するところでこけてしまっていた。バージョンを確定したら、gem install haml -v=2.2.17とし、2.2.23を消したらOK.

mysqlがらみで Virtual timer expired が頻発した。どうも、今回使ったruby 1.8.6p339+mysql(2.8)ではこれが出るらしい。 mysql 2.7を入れなおしたらokになった。

skip本体では、config/initial_settings.ymlのhost_and_port, protocol: をちゃんと設定しないとデフォルトで設定されてないので注意が必要。

skipのソースを読むとき、SkipEmbedded::InitialSettings[]がinitial_settings.ymlに対応していることを知っておけばなんとかなるように思う。

_ うーんこんな時間になってしまった。

風邪気味だからとっとと寝なきゃ。