【问题标题】:Homebrew errors in Mac OS Mavericks when trying to install scala尝试安装 scala 时 Mac OS Mavericks 中的 Homebrew 错误
【发布时间】:2023-07-20 20:39:01
【问题描述】:

我刚刚安装了 Mavericks,并尝试使用brew install scala 安装 scala 语言,但失败了。 然后我输入了brew update,但 scala 的安装仍然失败。 所以我发布了brew doctor 命令来帮助* 的读者帮助我解决这个问题。 结果如下:

$ 酿造医生

警告:/usr/local/etc 不可写。这可能发生 如果您“sudo make install”不是由 Homebrew 管理的软件。 如果 brew 尝试将文件写入此目录,安装将 在链接步骤中失败。

你可能应该chown /usr/local/etc

警告:/usr/local/share/man 中的某些目录不可写。 如果您“sudo make install”软件不受管理,就会发生这种情况 由自制。如果 brew 尝试将语言环境信息添加到其中之一 目录,则安装将在链接步骤期间失败。你 应该是chown他们:

/usr/local/share/man/man8

警告:“config”脚本存在于您的系统或 Homebrew 之外 目录。 ./configure 脚​​本经常寻找 *-config 脚本来 确定是否安装了软件包,还有什么附加的 编译和链接时使用的标志。

在您的路径中包含其他脚本可能会混淆已安装的软件 如果配置脚本覆盖系统或 Homebrew,则通过 Homebrew 提供同名脚本。我们找到了以下“配置” 脚本:

/opt/local/bin/libpng-config
/opt/local/bin/libpng15-config
/opt/local/bin/ncurses5-config
/opt/local/bin/ncursesw5-config
/opt/local/bin/pkg-config
/opt/local/bin/xml2-config

警告:您安装了 MacPorts 或 Fink:/opt/local/bin/port

这可能会引起麻烦。您不必卸载它们,但您可以 想暂时将它们移开,例如

sudo mv /opt/local ~/macports

警告:在 /usr/local/lib 中发现了未编译的 dylib。如果你没有 故意将它们放在那里,它们可能会在构建时引起问题 自制公式,可能需要删除。

意外的动态库: /usr/local/lib/libicudata.49.1.2.dylib /usr/local/lib/libicui18n.49.1.2.dylib /usr/local/lib/libicuio.49.1.2.dylib /usr/local/lib/libicule.49.1.2.dylib /usr/local/lib/libiculx.49.1.2.dylib /usr/local/lib/libicutetest.49.1.2.dylib /usr/local/lib/libicutu.49.1.2.dylib /usr/local/lib/libicuuc.49.1.2.dylib

警告:在 /usr/local/lib/pkgconfig 中找到未编译的 .pc 文件。如果 你不是故意把它们放在那里的,它们可能会导致问题 正在构建 Homebrew 公式,可能需要删除。

意外的 .pc 文件: /usr/local/lib/pkgconfig/icu-i18n.pc /usr/local/lib/pkgconfig/icu-io.pc /usr/local/lib/pkgconfig/icu-le.pc /usr/local/lib/pkgconfig/icu-lx.pc /usr/local/lib/pkgconfig/icu-uc.pc

警告:在 /usr/local/lib 中发现了未编译的静态库。如果 你不是故意把它们放在那里的,它们可能会导致问题 正在构建 Homebrew 公式,可能需要删除。

意外的静态库: /usr/local/lib/libc-client.a

警告:您的酒窖中有未连接的小桶 未连接小桶 可能会导致构建问题并导致依赖于这些小桶的啤酒 构建后无法正常运行。在这些上运行brew link

scala

警告:在您的 PATH 中未找到 Homebrew 的 sbin,但您有 将可执行文件放入 /usr/local/sbin 的已安装公式。考虑 例如像这样设置PATH echo export PATH="/usr/local/sbin:$PATH" >> ~/.bash_profile

警告:您的 PATH 中有一个非 Homebrew 'pkg-config':
/opt/local/bin/pkg-config

./configure 可能无法使用 brew 安装包 这另一个 pkg-config。

brew install scala 给出:

警告:您似乎安装了 MacPorts 或 Fink。软件 与其他包管理器一起安装会导致已知问题 自制。如果公式构建失败,请卸载 MacPorts/Fink 并尝试 再次。警告:scala-2.10.3 已经安装,只是没有链接

【问题讨论】:

  • 您是否执行了brew doctor 输出中的任何建议点?另外,当您尝试安装 scala 时出现什么错误?
  • 我用 brew install scala 错误更新了原始帖子。

标签: scala homebrew


【解决方案1】:

如果您仍然遇到问题,请按照以下步骤操作:

递归修复文件和文件夹的所有者

sudo chown -vR $(whoami) /usr/local /opt/homebrew-cask /Library/Caches/Homebrew

递归修复文件和文件夹的读/写权限

chmod -vR ug+rw /usr/local /opt/homebrew-cask /Library/Caches/Homebrew

递归修复文件夹的执行权限

找到 /usr/local /opt/homebrew-cask /Library/Caches/Homebrew -type d -exec chmod -v ug+x {} +

下面是链接。

https://gist.github.com/stefanschmidt/047001373d1defc90b6bdd7820e92cf7

【讨论】:

    【解决方案2】:

    安装很顺利,只是没有提供指向/usr/local/bin 的符号链接,因为它“害怕”搞乱macports。

    如医生留言中所说,先更改/usr/local/etc中的权限:

    chown <username> /usr/local/etc
    

    可能在前面加上sudo (sudo chown &lt;username&gt; /usr/local/etc)。

    现在brew可以更新必要的文件并链接scala:

    brew link scala
    

    你可能会没事的。

    【讨论】:

    • 我得到以下信息:
    • 警告:无法链接 scala。取消链接...链接 /usr/local/Cellar/scala/2.10.3... 错误:权限被拒绝 - /usr/local/etc/bash_completion.d
    • Btw scala 在 intellij idea 12 Ultimate 中运行良好,但我也希望能够从命令行运行它。
    • 您也可以尝试使用 chown -R,递归地拥有文件。
    • 我也不得不把这一个 /usr/local/share/doc