ongaeshi / milkode

Source code search engine of line-oriented written by Ruby
http://milkode.ongaeshi.me
Other
147 stars 29 forks source link

Bundler 1.1 で "milkode (0.2.3) has an invalid gemspec" #24

Closed tomykaira closed 12 years ago

tomykaira commented 12 years ago

Bundler 1.1 では rubygems の依存関係の探しかたが変わった関係で、昔の gemspec のエラーの問題が再発しているようです。

ubuntu, ruby 1.9.2-p180, rubygems 1.8.17, bundler 1.1.rc.8 で次の Gemfile を bundle すると、上述のエラーがでます。

source :rubygems
gem 'milkode'

なお、bundler 1.0 系ではエラーは出ません(1.0.22 で確認)。

bundler 側で対応すべき問題なのかもしれませんが、rubygems.org についてよく知らないので、ひとまずこちらに報告します。

エラー内容:

Fetching gem metadata from http://rubygems.org/.
Unfortunately, the gem milkode (0.2.3) has an invalid gemspec. As a result, Bundler cannot install this Gemfile. Please ask the gem author to yank the bad version to fix this issue. For more information, see http://bit.ly/syck-defaultkey.
ongaeshi commented 12 years ago

確認のため、まずはbundler1.0.22でgitombを動かそうとしています。 rackupには成功するのですがlocalhost:9292にアクセス後、以下のようなエラーが出ました。

$ bundle exec rackup
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:9292, CTRL+C to stop
dyld: lazy symbol binding failed: Symbol not found: _grn_ctx_set_finalizer
  Referenced from: /opt/local/lib/ruby1.9/gems/1.9.1/gems/rroonga-1.3.1/lib/groonga.bundle
  Expected in: flat namespace

dyld: Symbol not found: _grn_ctx_set_finalizer
  Referenced from: /opt/local/lib/ruby1.9/gems/1.9.1/gems/rroonga-1.3.1/lib/groonga.bundle
  Expected in: flat namespace

Trace/BPT trap: 5

何か心当たりはあるでしょうか?

ongaeshi commented 12 years ago

色々試したら、rvm経由でインストールしたRuby1.8.7では起動に成功しました。 MacPorts経由でインストールしたRuby1.9.3では駄目でした。

出来れば1.9.3で動かしたいので、rvmでRuby1.9.3をインストールして試してみます。

tomykaira commented 12 years ago

心当たりないです。上述の私の環境では出ませんでした(ubuntu は 10.10 です)。 groonga に関連した環境の問題なのでしょうか(mac だから、とかはないですか?)

ちなみに、1.1 が正式リリースしたようです。まだこの問題は発生するようなので、すこし重要度が上ったかな、と思います。 お手間とは思いますが、なんとか対応いただければ、大変うれしいです。

tomykaira commented 12 years ago

Bundler の ITS で質問してみました。

https://github.com/carlhuda/bundler/issues/1715

対象のバージョンを yank コマンドで無効にしていただくのがよさそうです。

Removing a published RubyGem / Gemcutter / Knowledge Base - RubyGems Support L'eclat des jours(2010-10-26)

ongaeshi commented 12 years ago

ありがとうございます。bundlerで動かない原因が分かり助かりました。

0.2.3をyankした所、bundle install が正常に動くようになりました。 milkode | RubyGems.org | your community gem host

過去ログを探した所、どうもMilkode0.2.3はいつもと違う手順で作ってしまっていた変なgemだったようです。 Milkode0.2.4を緊急リリース - RubyGems1.3でインストール出来ない問題を修正しました。 - おんがえしの日記

それにしても、gitombのように直接git://.....からダウンロード出来るのは便利ですね。milk addからもgitスキームが通るようにしておきます。

tomykaira commented 12 years ago

正常に動作することを確認しました。ありがとうございます。

本家で git に対応していただけると汚い処理が減って嬉しいです。