通过自制软件安装应用程序或安装"正常"应用程序有什么区别?

use*_*316 9 macos homebrew package-managers inkscape

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

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

Max*_*ske 5

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

homebrew将为您提供对安装内容,位置,要使用的编译属性等的更好,更细粒度的控制。但是这样做的代价是更加复杂,并且需要了解命令行方式。

到目前为止,下载二进制文件并将其放入“应用程序”文件夹更容易,并且通常可以正常工作。如果您不是开发人员,并且不需要管理许多其他工具,那么我建议您坚持使用二进制下载。但是,如果您是开发人员,则在需要Tex,ghostscript,ImageMagick等工具的情况下,很可能无法绕过软件包管理器。

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

$ ln -s /opt/local/bin/python /Applications/myPython
Run Code Online (Sandbox Code Playgroud)

编辑:

@内德·迪利

您上面的示例没有任何意义。/ opt / local / bin / python在OS X上不是应用程序捆绑包(而是从shell命令行运行的),那么为什么要在/ Applications中创建一个符号链接呢?

那是真实的。作为一个(可能很糟糕)的例子,这只是我想到的第一件事。

另外,MacPorts确实使用子文件夹MacPorts将应用程序捆绑包安装到/ Applications中。

也是如此。但是软件包维护者有责任告诉MacPorts这样做(我认为...),所以不要指望它。我去通过MacPorts安装了Inkscape。那会安装一个需要-g选择与GUI一起运行的runnable (但是我没有X-Server ...)。因此,在“应用程序”中安装应用程序捆绑包没有运气。

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

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

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