19

比如说你想安装 Inkscape。您可以通过从 inkscape 网站下载应用程序或通过 Homebrew 下载来安装它。

两种方法的优缺点是什么?如果我通过 Homebrew 安装它,Inkscape 的行为会像普通应用程序一样,例如它会显示在应用程序文件夹中吗?

4

1 回答 1

8

homebrew(如 Macports)是一个包管理器。它允许您管理包(更新、删除等)。最重要的是,自制软件将在您的平台上编译应用程序。这对于端口尤其重要,例如来自 Linux 的端口。

homebrew 将使您对安装的内容、位置、要使用的编译属性等进行更大、更细粒度的控制。但这是以更复杂和需要了解命令行方式为代价的。

到目前为止,下载二进制文件并将其放入 Applications 文件夹更容易,而且通常工作正常。如果您不是开发人员并且不需要管理许多不同的工具,那么我建议您坚持使用二进制下载。但是,如果您是开发人员,如果您需要 Tex、ghostscript、ImageMagick 等工具,您很可能不会绕过包管理器。

也回答你的最后一个问题:不,应用程序不会自动显示在 Applications 文件夹中(至少 Macports 是这种情况)。如果需要,您必须自己创建一个符号链接,例如

$ ln -s /opt/local/bin/python /Applications/myPython

编辑:

@内德迪利

你上面的例子没有多大意义。/opt/local/bin/python 不是 OS X 意义上的应用程序包(相反,它是您从 shell 命令行运行的东西),那么为什么要在 /Applications 中创建指向它的符号链接?

那是真实的。这只是作为(可以说是坏的)例子突然出现在我脑海中的第一件事。

此外,MacPorts 确实使用子文件夹 MacPorts 将应用程序包安装到 /Applications

也是真的。但是包维护者有责任告诉 MacPorts 这样做(我认为......),所以不要指望它。我通过 MacPorts 安装了 Inkscape。这安装了一个可运行的,它需要-g使用 GUI 运行的选项(但我没有 X-Server ...)。所以在应用程序中安装应用程序包不走运。

@user2426316
简短的回答是肯定的,可以同时拥有已编译的二进制文件和应用程序包。更准确地说,我会安装一个或另一个。根据应用程序的编写方式,两个安装可能会以不可预见的方式相互交互。很可能两者都共享配置文件,因此甚至“知道”在另一个实例中所做的更改。但如果开发人员不小心,这种行为可能会导致覆盖。另一方面,他们可能会使用一组单独的配置文件,如果您需要一些时间来配置应用程序,您将不得不在另一个实例中第二次这样做。

要考虑的另一点是,这两个实例可能会不时获得更新。您会始终保持实例同步吗?这甚至可能吗(也许没有包含相同更改的新应用程序包)?

总而言之,我看到了更多的麻烦,坦率地说没有任何好处(也许除了眼睛糖果)。而是创建一个脚本来运行二进制文件或符号链接,并为该文件分配一个精美的图标。

于 2013-06-23T21:09:17.087 回答