【发布时间】: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