web-dev-qa-db-ja.com

エラー:gemの実行中...(TypeError)互換性のないマーシャルファイル形式(読み取り不可)

Rubyバージョン2.4.4およびmacOS Mojaveでbundle installを実行すると、この問題が発生しました。

Fetching nokogiri 1.8.5
Installing nokogiri 1.8.5 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
ERROR: cannot discover where libxml2 is located on your system. please
make sure `pkg-config` is installed.

だから私は走った

xcode-select --install

しかし、gem install nokogiriを実行すると、次の出力が得られました。

ERROR:  While executing gem ... (TypeError)
    incompatible marshal file format (can't be read)
    format version 4.8 required; 60.33 given

cookies_serializer:hybridに設定しようとしました:

Rails.application.config.action_dispatch.cookies_serializer = :hybrid

しかし、何もうまくいきませんでした。

これを修正する方法はありますか?現在、Railsサーバーを実行できません。

17
Rémi JUHE

モーガン・ジャリーの回答のおかげで、これは私にとってうまくいったものです:

私は私の現在のソースをチェックしました、そして確かにそれらは時代遅れでした:

gem sources

印刷した

*** CURRENT SOURCES ***
http://gems.rubyforge.org/
http://gems.github.com

だから私はこのスクリプトを実行してそれらを削除し、それらを https://rubygems.org/ で置き換えました

gem sources -r  http://gems.rubyforge.org/
gem sources -r http://gems.github.com
gem sources -a https://rubygems.org/
38
Rémi JUHE

~/.gemrcを削除してみてください。私はモハベでも同じ問題を抱えていましたが、これで問題が解決しました。

22
Morgan Jarry

持っているすべてのgemソースを削除して、代わりに https://rubygems.org/ を追加する必要があります。 http://gems.rubyforge.org/http://gems.github.com は永久に停止しているため、削除する必要があります。次のコマンドを実行すると、ソースを一覧表示できます。

gem sources 

あなたはこのようなものを得るはずです:

*** CURRENT SOURCES ***

//gems.rubyforge.org/
//gems.github.com

1)すべてのソースを削除します。

gem sources -r http://gems.rubyforge.org/
gem sources -r http://gems.github.com

2)適切なソースを追加します。

gem sources -a https://rubygems.org/

お役に立てれば!

8
Theo Avoyne