12

问题

我一直在使用自制软件,所以我想我会运行brew doctor,但它只是在 mdfind 上停滞不前。brew --config输出以下内容后也会挂在 mdfind 上:

HOMEBREW_VERSION: 0.9.4
ORIGIN: https://github.com/mxcl/homebrew
HEAD: c2cc58163b54a9ea2ee56febfc722396079c5b9a
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit sandybridge
OS X: 10.8.3-x86_64
Xcode: 4.6.2
CLT: 4.6.0.0.1.1365549073
LLVM-GCC: build 2336
Clang: 4.2 build 425

brew update似乎工作:

$ brew update
Already up-to-date.

我什至可以安装东西:

$ brew install rsnapshot
==> Downloading http://rsnapshot.org/downloads/rsnapshot-1.3.1.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/rsnapshot/1.3.1 --mandir=/usr/local/C
==> make install
  /usr/local/Cellar/rsnapshot/1.3.1: 12 files, 356K, built in 4 seconds

他们甚至工作:

$ rsnapshot
rsnapshot 1.3.1
Usage: rsnapshot [-vtxqVD] [-c cfgfile] [command] [args]
Type "rsnapshot help" or "man rsnapshot" for more information.  

我试过的

  • 卸载所有包
  • 打开所有小桶
  • 重新安装自制软件
  • 重新安装 XCode + 命令行工具
  • 安装 XQuartz(我必须通过命令行完成)
  • 使用 Spotlight 重新索引我的系统驱动器
  • 重置 xcode-select 路径
  • 删除/usr/share/xcode-select/

解决方法

运行后brew doctor,如果我终止 mdfind 进程两次(一个实例在另一个实例终止后生成),我终于成功返回:

$ brew doctor
Your system is ready to brew.

与配置相同:

$ brew --config
OMEBREW_VERSION: 0.9.4
ORIGIN: https://github.com/mxcl/homebrew
HEAD: c2cc58163b54a9ea2ee56febfc722396079c5b9a
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit sandybridge
OS X: 10.8.3-x86_64
Xcode: 4.6.2
CLT: 4.6.0.0.1.1365549073
LLVM-GCC: build 2336
Clang: 4.2 build 425
X11: 2.7.4 => /opt/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

注意配置中的下一个项目,在通常的停顿点之后,是 X11。

更多信息

我最近不得不从我的系统中删除一个手动编译的 ICU 版本,而且我实际上删除了几个不是由 ICU 安装的二进制文件的可能性很小。我不确定,但我想我会提到它以防万一。即使确实让我听起来很傻。

brew doctor终止时没有输出。

brew doctor似乎check_for_latest_xquartz特别在支票上停滞不前,我已经检查过:

$ brew doctor check_for_latest_xquartz

我的xcode-select路径似乎正确:

$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

mdfind 可以找到 XQuartz:

$ mdfind "kMDItemCFBundleIdentifier == 'org.macosforge.xquartz.X11'"
/Applications/Utilities/XQuartz.app

...但它仍然没有返回。

相关链接

4

1 回答 1

-1

您的 GitHub 链接中的最后一篇文章似乎回答了这个问题:

这是迄今为止关于这个非常令人沮丧的话题的最有用的主题。我尝试了上面的所有方法,发现 brew doctor 挂了:

check_for_autoconf (kill mdfind 2x)
check_for_latest_xquartz (kill mdfind 2x)
check_for_linked_keg_only_brews (kill mdfind 4x)
check_for_osx_gcc_installer (kill mdfind 2x)
check_for_stray_developer_directory (kill mdfind 2x)
check_missing_deps (kill mdfind 2x)
check_standard_compilers (kill mdfind 1x)
Note that killing mdfind multiple times at least allows brew doctor to continue but that is not a solution.

当 brew doctor 最终完成时,我注意到一个警告:

check_user_path_2
Warning: Homebrew's bin was not found in your PATH.
Consider setting the PATH for example like so
    echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

这增加了PATH=/usr/local/bin:$PATH~/.bash_profile. 这也是在开头~/.bash_profile和结尾两次,所以我删除了除最后一个语句之外的所有语句。打开一个新的终端窗口,现在/usr/local/bin位于我路径的开头而不是中间。

现在 brew doctor 运行不挂!

如果这不能解决问题,我建议在 GitHub 上为这个线程做贡献或在 GitHub 上打开一个新问题,因为它可能是自制程序中的一个错误。

于 2015-05-16T05:14:29.140 回答