如何使用 Homebrew 处理现有安装?

How to deal with existing installations with Homebrew?

在安装 Homebrew 之前,我的 MacBook 上已有安装。例如,我像人们通常那样安装了 Google Chrome 和 Node.js - 通过访问他们的网站并下载 .dmg/.pkg 文件。

然而,使用 Homebrew 我会 运行

brew cask install google-chrome
brew install node

要将这些应用程序与 Homebrew 集成,我是否需要卸载它们并通过 Homebrew 重新安装? Homebrew 可以检测到这些现有的安装吗?使用包管理器有优势吗?

(我的想法正在迁移它们将允许我使用 brew update 来维护它们。)

To integrate these applications with Homebrew, would I need to uninstall them and reinstall through Homebrew?

是的。

Can Homebrew detect these existing installations?

Homebrew 无法管理在其外部安装的应用程序。它可以检测某些安装——例如,如果安装了 Python,如果公式依赖于它,Homebrew 不会强制你再次安装它——但不能对它们采取行动。

Is there an advantage to using a package manager?

视情况而定。

  • 如果您已经在使用 Google Chrome 等 GUI 应用程序,卸载它们然后使用 brew cask 重新安装不会改变任何东西; brew cask 安装东西但之后你必须自己更新它。
  • 如果您还没有这些应用程序,使用包管理器比访问每个网站更快更容易,下载 .dmgs,拖动 .apps。它的自动化程度更高,您可以在购买新机器时使用 brew-bundle 进行更快的设置。
  • 关于经典的 Homebrew 公式(即使用 brew install 而不是 brew cask install 安装的东西)Homebrew 为您更新内容,因此根据您的使用情况,它可能卸载然后通过 Homebrew 重新安装是有意义的。在任何情况下,brew install foo 总是比在 Web 上搜索安装说明 foo 更快,并且对于最近的 3 个主要 OS X 版本,最流行的公式已经是 pre-compiled。

澄清一下,Homebrew 是 python 等应用程序的命令行界面 (CLI),而 Homebrew-Cask (HBC) 是 Homebrew 的扩展,允许从 CLI 安装 GUI 应用程序。

目前没有使用 HBC 进行更新的规定,所以我编写了解决一些问题的脚本。

脚本将创建一个文件,其中列出要更新的文件,包括定义为最新的应用程序。然后您可以修改该文件以满足您的要求并使用我的 olinst 脚本安装更新。

有关详细信息,请访问我的 github。

https://github.com/pacav69/homebrew-homebrew-caskroom-offline-installer