ERROR: While executing gem ... (TypeError) incompatible marshal file format (can't be read)
ERROR: While executing gem ... (TypeError) incompatible marshal file format (can't be read)
我在 运行 bundle install
使用 Ruby 版本 2.4.4 和 macOS Mojave 时遇到了这个问题:
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 服务器。
尝试删除您的 ~/.gemrc
。我在 Mojave 上遇到了同样的问题,这解决了我的问题。
感谢 Morgan Jarry 的回答,这对我有用:
我检查了我当前的资源,确实它们已经过时了:
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/
您必须删除您拥有的所有 gem 来源,并添加 https://rubygems.org/ instead. Note that http://gems.rubyforge.org/ and 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/
希望对您有所帮助!
对我来说,浏览器 cookie 清理修复了所有问题
我在 运行 bundle install
使用 Ruby 版本 2.4.4 和 macOS Mojave 时遇到了这个问题:
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 服务器。
尝试删除您的 ~/.gemrc
。我在 Mojave 上遇到了同样的问题,这解决了我的问题。
感谢 Morgan Jarry 的回答,这对我有用:
我检查了我当前的资源,确实它们已经过时了:
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/
您必须删除您拥有的所有 gem 来源,并添加 https://rubygems.org/ instead. Note that http://gems.rubyforge.org/ and 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/
希望对您有所帮助!
对我来说,浏览器 cookie 清理修复了所有问题