【问题标题】:Homebrew doctor is foreshadowing some sinister problems自制医生预示着一些险恶的问题
【发布时间】:2013-10-31 21:41:24
【问题描述】:

我正在尝试让 Homebrew 与 Xcode 命令行工具一起工作,他们似乎正在相互配合......用 Rodney King 的话来说,“我们不能相处吗?”

对于一些背景知识,大约一年前我第一次拿到我的 Mac 时,我不知道自己在做什么。我也在使用 macports,因为 Homebrew 网站似乎意识到了这一点,这促使我成为一个狂暴的酒鬼。结果,我的/usr/local 目录被搞砸了。最终,gcc 和 g++ 停止了工作,许多其他的东西都被破坏了。所以我对 OS X 进行了全新安装,我希望我闪亮的新安装保持更有条理。

现在,我已经安装了 Apple 的命令行工具,所有的二进制文件/库/等都在 /usr/local 中结束了。没关系,但后来我尝试安装自制软件,它还将所有内容都放在 /usr/local/ 目录中。当我运行命令时

brew doctor

我得到以下输出(实际上,这只是一个 sn-p,但它抓住了 Homebrew 告诉我的一般精神):

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
    /usr/local/lib/libatomic.a
    /usr/local/lib/libgfortran.a
    /usr/local/lib/libgmp.a
    /usr/local/lib/libgomp.a
    /usr/local/lib/libitm.a
    /usr/local/lib/libmpc.a
    /usr/local/lib/libmpfr.a
    /usr/local/lib/libquadmath.a
    /usr/local/lib/libssp.a
    /usr/local/lib/libssp_nonshared.a
    /usr/local/lib/libstdc++.a
    /usr/local/lib/libsupc++.a

我想我可以将 Homebrew 放在不同的目录中;但是,Homebrew 文档特别警告了这一点。他们说:

“帮自己一个忙,安装到/usr/local。有些东西在安装到其他地方时可能无法构建。Homebrew 相对于竞争对手而言只能工作的原因之一是因为我们建议安装到/usr/local。选择另一个前缀在您的危险!”

重点是我不想费心对我安装的每个软件包进行微观管理,我也不希望我的文件系统变得一团糟。有人有什么建议吗?我是否将命令行工具移动到不同的目录并将其添加到我的 $PATH 中?任何提示将不胜感激。

【问题讨论】:

  • 嗯,macports 安装到/opt/local,Xcode 命令行工具安装到/usr/bin,所以我认为您在某个地方感到困惑。
  • 你对 macports 的看法是正确的:我上面描述的问题在 macports 上并不存在,但由于我没有提到的原因,macports 仍然给我带来了麻烦。 Homebrew 似乎是一个更好的选择,但他们坚持认为这种说法是基于安装在 /usr/local 中。此外,Xcode 安装在 /usr/local/bin,而不是 /usr/bin。我应该把所有东西都移到 /usr 吗?还是会搞砸所有的链接等等?
  • 好吧,我有一个偷偷摸摸的怀疑,你是在指责 macports 是你自己造成的问题。正如我所说,它将所有内容安装在/opt/local,而不是/usr/local,如果那里有文件,这可能是因为您在重新安装OSX时没有格式化驱动器,我怀疑你 把它们放在那里,因为我想不出另一种方式它们会到达那里。所以我认为你应该淡化反macports的言论。
  • 好吧,发生的一切肯定是我自己的无知,而不是macports。不过,这对解决问题没有帮助......
  • 我不知道 Homebrew,因为我不使用它,但是您可能只是转储整个 /usr/local 并重新安装它。但是我担心您认为 Xcode 命令行工具已安装到 /usr/local 中,因为这不是它们通常去的地方。请通过which clang 确认并发布来自$(which clang) --version 的回复(或至少确保版本字符串中有“Apple”)。

标签: xcode macos homebrew command-line-tool


【解决方案1】:

这是一个警告,消息说明了原因。如果您稍后想要安装安装其中一个文件的 Homebrew 公式,它将失败,因为它会拒绝覆盖这些文件,然后您将不得不删除这些文件,如消息所述。

具体来说,这些文件似乎属于 gcc 的安装。您可能想研究或尝试记住为什么安装在那里。如果需要,可以删除它们并从 Homebrew 安装 gcc。

【讨论】:

    猜你喜欢
    • 2014-11-19
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 2019-01-18
    • 2021-03-10
    • 2020-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多