【问题标题】:What is the difference between installing an app via homebrew or installing it "normal"?通过自制软件安装应用程序或“正常”安装应用程序有什么区别?
【发布时间】:2013-06-20 08:31:00
【问题描述】:

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

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

【问题讨论】:

    标签: macos homebrew package-managers inkscape


    【解决方案1】:

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

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

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

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

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

    编辑:

    @Ned Deily

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

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

    此外,MacPorts 确实使用 子文件夹 MacPorts

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

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

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

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

    【讨论】:

    • 谢谢!那么是否有可能在一台计算机上同时拥有两个版本(自制程序包和应用程序文件夹中的二进制文件)。我已经通过自制软件安装了inkscape,但也希望只有带有图标的应用程序:)
    • 你上面的例子没有多大意义。 /opt/local/bin/python 不是 OS X 意义上的应用程序包(相反,它是您从 shell 命令行运行的东西)那么为什么要在 /Applications 中创建指向它的符号链接呢?此外,MacPorts 确实使用子文件夹 MacPorts 将应用程序包安装到 /Applications
    • 最好在评论部分给出您的回复,而不是在主要答案正文中。谢谢。
    • @hadi 你到底在说什么?你为什么要评论去年 6 月的帖子?
    • 我通过谷歌搜索找到了这个问题,并从你的回复中得到了一些很好的信息(谢谢!)。但是请注意,由于附加到主要答案的对 cme​​ts 的响应,它变得不必要地长了。
    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多