====
$ brew list
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': /usr/local/Library/Homebrew/download_strategy.rb:88: invalid multibyte escape: /^\037\213/ (SyntaxError)
invalid multibyte escape: /^\037\235/
invalid multibyte escape: /^\xFD7zXZ\x00/
というエラーが出る原因と対応方法。
原因
エラーの原因は homebrew インストール後に、Ruby のバージョンを上げたこと。
解決方法
こうなると、brew doctor
しても同じエラーが出るしどうしようもなくなる。当然 brew update
もできない。
これを解決するために brew コマンドの shebang を書き換える。
brewコマンドの場所は where
なりで探していただければ良いかと(だいたい /usr/local/bin/brew
)。
このファイルの1行目を、以下のように変更する。
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
こうすることで、問題のエラーはでなくなるので、
$ brew update
してあげれば、新しいバージョンの Ruby に対応した homebrew にアップデートできる。さきほど修正した brew コマンドは新しいものに上書きされているはずなので、戻す必要はない。