我在Ruby 2.4.4版和macOS莫哈韦上运行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服务器。
5条答案
按热度按时间ds97pgxw1#
感谢Morgan Jarry的回答,这是我的工作:
我检查了我目前的来源,他们确实过时了:
打印出来了
因此,我运行此脚本删除它们,并将其替换为https://rubygems.org/
omvjsjqw2#
尝试删除您的
~/.gemrc
。我在莫哈韦也遇到了同样的问题,这个解决了我的问题。hc8w905p3#
您必须删除所有的gem源代码,并添加https://rubygems.org/。请注意,http://gems.rubyforge.org/和http://gems.github.com是永久失效的,应该删除。您可以通过运行以下命令列出源:
你应该得到这样的东西:
1)删除所有源:
2)添加正确的源:
希望这有帮助!
gg58donl4#
对我来说只是浏览器cookie清理修复了所有
nsc4cvqm5#
我有类似的问题,服务器在一个
branchA
中响应良好,而在同一项目中的branchB
失败。解决方案:
这对我很有效。
可能的根本原因:
特定分支中的Rails版本已更新
在
branchA
中是Rails 6.0.4
而在
branchB
中是Rails 6.1.7.2
它也可以帮助你!!!