【问题标题】:Should I _really_ remove dylibs after installing homebrew?安装自制软件后我应该_真的_删除 dylibs 吗?
【发布时间】:2011-09-24 12:58:52
【问题描述】:

我刚刚安装了自制软件,并从安装脚本中看到了一条消息,说我应该考虑删除以下“邪恶”的 dylib,因为它们可能会破坏构建。有没有人这样做过?如果是这样,你后来发现你真的需要它们吗?

这里是 dylib 列表:

/usr/local/lib/CHBrowserView.dylib
/usr/local/lib/libgnsdk_musicid_file.dylib
/usr/local/lib/libgnsdk_sdkmanager.dylib
/usr/local/lib/libjson.0.0.1.dylib
/usr/local/lib/libmusicid_osx.dylib
/usr/local/lib/libpcre.0.0.1.dylib
/usr/local/lib/libpcrecpp.0.0.0.dylib
/usr/local/lib/libpcreposix.0.0.0.dylib

【问题讨论】:

标签: macos homebrew


【解决方案1】:

没有。如果你在 /usr/local/lib 中有一些东西,很可能是因为你构建并安装了它。

对于 Brew 来说,假设 /usr/local/lib 中的任何库都是“邪恶的”只是因为 Brew 不知道它们,这是一个烦人且自负的错误消息。

您的“旧”版本可能与 Brew 构建的某些内容发生冲突,但是……哎呀。当程序死亡时,这将是非常明显的。如果应用程序尝试对其进行动态加载,则更有可能的是,这也意味着当 Brew 构建内容时,它会尝试无论如何链接到旧的库。只要它与架构/版本兼容,就没什么大不了的。

当您在 Brew 之前构建的东西找不到您删除的共享库时,这也会很明显。并且考虑到你可能没有源代码(或者记得你一开始是如何配置它的......)

我强烈建议保留旧库。

【讨论】:

  • 我按照建议删除了文件。然后发现 nokogiri 是针对其中一个构建的,所以我不得不放弃我的整个 gemset 并重新安装。幸运的是 rvm 和 bundler 使这变得相当容易。尽管漂亮的安装脚本确实让它看起来是正确的事情,但继续做这件事似乎很鲁莽:)
  • 作为对人们的一般警告 - 我强烈建议避免 brew。它采用的机制和实践并不是最干净的。它仍然是安装任意软件包的最快途径,但大多数食谱都太旧了,几乎不值得。如果有任何东西可以使用他们的食谱作为您可能需要进行哪些设置或应用补丁的指南 - 但请仔细查看它们。我看过一些非常悲伤的“港口”食谱。没有冒犯的家伙,我明白你想要做什么。这不是我的风格。
  • @synthesizerpatel 你有什么建议或替代自制软件吗?
  • @jose.angel.jimenez 唯一真正的解决方案是“自己构建”。 brew 甚至不编译包的事实让我感到不舒服。它似乎只是下载由“互联网上的某个人”编译的软件包,如果您对安全性感到偏执,那就是一个巨大的霓虹灯警告。这些天你只需要得到 GNU 的东西(automake、autoconf 等),然后大多数包 ./configure && make。不是最好的解决方案,但它是最 unixbeardy 的。
  • @synthesizerpatel 我想知道下载二进制文件与下载源代码然后运行它有何不同?当然,除非您选择编写源代码或通读。
猜你喜欢
  • 1970-01-01
  • 2018-07-29
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多