Homebrew обновил zlib и сломал все

Итак, brew update обновленный zlib от 1.2.7 до 1.2.8. Yay.

Позже я заметил, что была проблема с bundle. Я получил LoadError для zlib.

Error loading RubyGems plugin "/Users/michael/.rvm/gems/[email protected]/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

Пробовал brew tap homebrew/dupes в соответствии с этим, получил Error: Already tapped!, конечно

Затем попытался rvm reinstall 2.0.0. Теперь bundle работает, но rails s все еще не работает.

/Users/michael/.rvm/gems/[email protected]/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require': dlopen(/Users/michael/.rvm/gems/[email protected]/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/[email protected]/gems/nokogiri-1.5.9/lib/nokogiri/nokogiri.bundle

Кто-нибудь знает, как это исправить?

Update

Теперь мне удалось все работать, используя cp /usr/local/opt/zlib/lib/libz.so.1.2.8 /usr/local/opt/zlib/lib/libz.so.1.2.7. Самая неприятная из исправлений. Если у кого-то есть реальное решение, я был бы очень обязан.

Ответ 1

Да, я предлагаю следующее:

  • brew remove php53 (или php54) Вы даже можете быть более агрессивным, если необходимо, чтобы убедиться, что предыдущая установка php не включена ваш Mac.
  • (необязательно) выполните brew cleanup. Я этого не делал, и все было исправлена.
  • brew install php53 (или php54)

Затем 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

Больше никаких жалоб на недостающую библиотеку или что-то еще.

Ответ 3

Сегодня, после запуска brew upgrade, git перестает работать. Я также получил ошибку загрузки для zlib, когда я пытаюсь запустить git. После следующего:

  • brew remove git
  • brew cleanup
  • brew install git

проблема исчезла, и git снова работает. Спасибо @Stephane

Я думаю, что это может быть полезно и для других, поэтому разместил его здесь.

Ответ 4

В моем случае мне пришлось удалить php (php54 для меня), очистить, коснуться josegonzalez/php, а затем переустановить php.

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