我正在尝试让 SugarSync v2.46 在 OS 10.6.8 上运行。我还使用 Homebrew 来管理安装包。安装 SugarSync 后,我发现它在我的系统上安装了 osxfuse 2.6.1,这会导致一系列警告,如“brew doctor
此安装文件到”所示/usr/local
。我认为消除这些警告的最佳方法是卸载 Fuse(在“系统偏好设置”窗格中完成),然后使用重新安装brew install osxfuse
。根据警告,我还通过以下方式直接将某些包写入正确的位置
sudo /bin/cp -RfX /usr/local/opt/osxfuse/Library/Filesystems/osxfusefs.fs /Library/Filesystems/
sudo /bin/cp -RfX /usr/local/opt/osxfuse/Library/Frameworks/OSXFUSE.framework /Library/Frameworks/
sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
根据 osxfuse Wiki,这基本上完成了 osxfuse 2.7.1 的完整安装。我只缺少系统偏好设置中的图标。然而,SugarSync 无法识别这一点,并坚持安装其预装的 Fuse。
我将软件包放在了正确的位置,并且可以加载内核扩展。库都放在了正确的位置(尽管它们与 brew Cellar 有符号链接)。我联系了 SugarSync,了解他们的应用程序如何检查 Fuse 的现有版本,但被告知要升级到他们的版本 3,而我现在无法升级。
我是否遗漏了某些重要信息,导致应用程序无法安装内核扩展?或者这是 SugarSync 特有的问题?
答案1
经过一些额外的侦查工作后我终于弄明白了这一点。
事实证明,SugarSync 的 v2 发布渠道不使用 OS X Fuse 内核扩展,而是使用完全失效的 MacFUSE 扩展。osxfuse 2.6.1 安装包与 SugarSync.app 捆绑在一起,因此它可以在必要时始终安装 MacFUSE 兼容层选项。另一方面,Homebrew安装 osxfuse 时跳过该安装选项,并且不提供安装选项—— 这是理所当然的;MacFUSE 已经死了,而且确实应该保持这种状态(而且值得赞扬的是,SugarSync 的第 3 版确实放弃了它)。
但与此同时,僵尸必须继续存在于我的操作系统中。运行后brew uninstall osxfuse
,我使用了官方软件包(来自https://osxfuse.github.io)安装 osxfuse选择兼容层选项brew doctor
。这确实将库安装到了 /usr/local/lib,但是 homebrew 在运行时没有出现任何冲突...至少现在还没有。