Homebrew更新了zlib并打破了一切

时间:2013-05-02 22:23:16

标签: ruby-on-rails ruby rvm homebrew zlib

所以brew update更新了zlib从1.2.7到1.2.8。耶。

后来我注意到运行bundle时遇到了问题。我为zlib获得了LoadError

Error loading RubyGems plugin "/Users/michael/.rvm/gems/ruby-2.0.0-p0@global/gems/rubygems-bundler-1.1.1/lib/rubygems_plugin.rb": dlopen(/Users/michael/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.3.0/zlib.bundle, 9): Library not loaded: /usr/local/opt/zlib/lib/libz.so.1.2.7
  Referenced from: /Users/michael/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.3.0/zlib.bundle
  Reason: image not found - /Users/michael/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.3.0/zlib.bundle (LoadError)

brew doctor说:

dyld: Library not loaded: /usr/local/opt/zlib/lib/libz.so.1.2.7
  Referenced from: /usr/local/bin/php
  Reason: image not found

根据this尝试brew tap homebrew/dupes,当然得到Error: Already tapped!

接下来尝试rvm reinstall 2.0.0。现在bundle有效,但rails s仍未有效。

/Users/michael/.rvm/gems/ruby-2.0.0-p0@rails3/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require': dlopen(/Users/michael/.rvm/gems/ruby-2.0.0-p0@rails3/gems/nokogiri-1.5.9/lib/nokogiri/nokogiri.bundle, 9): Library not loaded: /usr/local/opt/zlib/lib/libz.so.1.2.7 (LoadError)
  Referenced from: /usr/local/opt/libxml2/lib/libxml2.2.dylib
  Reason: image not found - /Users/michael/.rvm/gems/ruby-2.0.0-p0@rails3/gems/nokogiri-1.5.9/lib/nokogiri/nokogiri.bundle

任何人都知道如何解决这个问题?

更新

目前使用cp /usr/local/opt/zlib/lib/libz.so.1.2.8 /usr/local/opt/zlib/lib/libz.so.1.2.7管理我的所有工作。最复杂的修复。如果有人对此有真正的解决方案,我会非常感激。

4 个答案:

答案 0 :(得分:9)

是的,我的确提出以下建议:

  1. brew remove php53(或php54)如果,你甚至可以更积极 需要,只是为了确保没有以前安装的PHP 你的Mac。
  2. (可选)执行brew cleanup。我没有这样做,事情已经发生了 固定的。
  3. brew install php53(或php54)
  4. 然后,php -v会给你一个很好的:

    PHP 5.3.23 (cli) (built: May  6 2013 16:18:42)
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
        with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
    

    没有关于遗失的自由或其他任何内容的投诉。

答案 1 :(得分:3)

这为我解决了这个问题:

brew untap homebrew/dupes
brew tap homebrew/dupes

然后继续:

brew install zlib
brew list zlib

参考:https://github.com/Homebrew/homebrew-php/issues/205

答案 2 :(得分:1)

今天,在运行brew upgrade之后,git停止了工作。当我尝试运行git时,我的zlib也出现了加载错误。以下之后:

  1. brew remove git
  2. brew cleanup
  3. brew install git
  4. 问题已经消失,git再次运作。谢谢@Stephane

    我认为这对其他人也有帮助,所以在这里发布。

答案 3 :(得分:0)

在我的情况下,我不得不删除php(对我来说是php54),清理,点击josegonzalez / php,然后重新安装php。

brew remove php54
brew cleanup
brew tap josegonzalez/php
brew install php54