2

サーバーを起動すると、Ruby 1.9 にアップデートした後、次の奇妙なエラーが発生します。

" [BUG] rb_gc() ruby​​ 1.8.6 でのクロススレッド違反 (2008-08-11) [i386-mswin32]

このアプリケーションは、異常な方法で終了するようランタイムに要求しました。詳細については、アプリケーションのサポート チームにお問い合わせください。"

私の雑種バージョンは 1.1.6 で、Ruby 1.9 と互換性があるはずです。私はまだ Ruby 1.8.6 をインストールしているので、何らかの理由で mongrel がそれにアクセスしようとして Ruby を強制終了したと思いますか? 重要な場合に備えて、私のレールのバージョンは2.3.4です。

4

2 に答える 2

5

あなたの一次情報源のコメントを疑います。最近のコメントのほとんどは、靴やハンドバッグを販売するリンクを指すスパム コメントです。

スパマーではなく実際に動作するようになった人http://gems.rubyinstaller.org、gem ソースを 1.2.0 プレリリースに変更するか、1.2.0 プレリリースを使用することを勧めていることに注意してください。

個人的には、2008 年以降に Mongrel を使用する説得力のある理由が思い浮かびません。より良い選択肢がたくさんあります。Thin、Unicorn、および Passenger はすべて積極的にメンテナンスされており、長い間 1.9 に準拠しており、一般的なベンチマークでより高速であり、機能と展開の容易さにおいて異なる長所を持っています。雑種はそれが起こったとき大きな前進でしたが、今では明確な利点がなく、少し時代遅れです.

ただ...Webrick以外は何でも。本当。

于 2010-05-15T03:40:16.883 に答える
2

Ruby 1.9と互換性があるはずです

そう思わせる具体的な何かはありますか?数週間前の時点で、私は Mongrel がWindows 上の Ruby 1.9 で動作しないことを確認しました。Mongrel が、Ruby 1.9 で必要な gcc/mingw32 で正常にコンパイルされているとは思えません。

最も簡単なオプションは、WEBRick に戻すことです。

また、 Mongrel に匹敵し、おそらくそれよりも高速なThinを使用するのもかなり簡単です。ただし、ビルドする必要があることがわかりました。これには、mingwのインストールが含まれます。このSOの回答を参照してください-事前にビルドする準備をしgem install thinてください。すべてが正常に行われるはずです。次に、thin startの代わりに使用しruby script/serverます。

于 2010-05-04T13:16:01.463 に答える