原由:准备使用redis做为celery的broker,使用homebrew安装,错误输出以下:
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0
使用下文中的方法能让brew命令可用,但仍是没法安装redis。
http://stackoverflow.com/questions/24225959/how-to-get-ruby-homebrew-rvm-to-work-on-yosemite/25119913#25119913
搜索得知homebrew团队已经解决此问题,升级安装即能修复。
却采用了从新安装的方式来升级homebrew,致使所安装的软件都被删除。
只能从新安装python,mysql等等。带来的另外一后果是用virtualenv建立的虚拟环境也不能用了。
只好从新建立虚拟环境,安装相关python库。却发现没法安装M2Crypto。
用下文的方法修复了坏掉的虚拟环境:http://wirtel.be/posts/en/2014/07/29/fix_virtualenv_python_brew/
原来virtualenv命令建立虚拟环境时使用大量的软件连接,升级python后就会致使软连接失效。
须要删除失效的软连接,并重复建立新的软连接。可在建立虚拟环境时使用--always-copy参数,这样就会copy文件而不是使用软连接。
正确的升级homebrew的方法:http://vancelucas.com/blog/fixing-homebrew-on-osx-yosemite-10-10/python