読者です 読者をやめる 読者になる 読者になる

PerlerのRuby日記

Rubyとか

gemが突然見えなくなった

Ruby Jenkins

今日突然Jenkinsのあるジョブがエラーになってしまった。

↓失敗してたジョブのコンソール表示

[error]: Missing 'redcarpet' gem for Markdown formatting. Install it with `gem install redcarpet`

でもその直前にbundle installはしていて、そこにちゃんとredcarpetも入っている。

Using redcarpet (2.3.0) 

一応、Jenkinsのworkspaceに直接入って同じコマンドを叩いてみたけれど、エラーになった。
ただちょっとメッセージが違った。

dlopen(…/workspace/vendor/bundle/ruby/1.9.1/gems/redcarpet-2.3.0/lib/redcarpet.bundle, 9): Library not loaded: …/ruby/lib/libruby.1.9.1.dylib
  Referenced from: …/workspace/vendor/bundle/ruby/1.9.1/gems/redcarpet-2.3.0/lib/redcarpet.bundle
  Reason: image not found - …/workspace/vendor/bundle/ruby/1.9.1/gems/redcarpet-2.3.0/lib/redcarpet.bundle


何かしたっけ……と思い返したところ、homebrew経由でhttpdを入れていた。

それだけでなんで失敗このジョブが失敗することにつながったのかはいまひとつ分からないけれど、
エラーメッセージでググったら同じようなひとがいて、
メッセージの見たままdylibが読めないだけだから、シンボリックリンク張ったりPATH変更したりでなんとかなるみたいだった。

gemを入れ直しても解決するようだったので、ローカルにインストールしてたvendor/bundleを一回消して、もう一回bundle installしたらJenkinsのジョブの方もちゃんと動いた。
よかった。