吃饭不吃菜|省钱谈恋爱

非常好用的Native的URL选择器

今天偶然遇到一个可以指定URL打开浏览器的小工具Browserosaurus,可惜作者已经不更新这个软件了,从其主页上找到了一个替代品,就是这个Browserino,这是使用SwiftUI写的,非常轻量级。作为学习SwiftUI也是极好的范例。使用它可以选择要打开的浏览器,不再受限于默认浏览器!

安装:

brew tap AlexStrNik/Browserino
brew install browserino --no-quarantine

 

% brew tap AlexStrNik/Browserino
==> Tapping alexstrnik/browserino
Cloning into '/opt/homebrew/Library/Taps/alexstrnik/homebrew-browserino'...
Warning: Skipping gromgit/fuse because it is not trusted. Run `brew trust gromgit/fuse` to trust it.
Warning: Skipping gromgit/fuse because it is not trusted. Run `brew trust gromgit/fuse` to trust it.
Tapped 1 cask (12 files, 16.8KB).

% brew info browserino
Error: Refusing to load cask alexstrnik/browserino/browserino from untrusted tap alexstrnik/browserino.
Run `brew trust --cask alexstrnik/browserino/browserino` or `brew trust alexstrnik/browserino` to trust it.

% brew trust --cask alexstrnik/browserino/browserino
Trusted cask: alexstrnik/browserino/browserino

% brew info browserino
Warning: Calling string comparison format for `depends_on macos:` is deprecated! Use `depends_on macos: :ventura` instead.
Please report this issue to the alexstrnik/homebrew-browserino tap (not Homebrew/* repositories), or even better, submit a PR to fix it:
  /opt/homebrew/Library/Taps/alexstrnik/homebrew-browserino/Casks/browserino.rb:11

==> browserino (Browserino): 1.1.16
Browserino is a tiny browser selector for MacOS written in SwiftUI
https://github.com/AlexStrNik/Browserino
Not installed
From: https://github.com/alexstrnik/homebrew-browserino/blob/HEAD/Casks/browserino.rb
==> Requirements
Required: macOS >= 13 ✔
==> Artifacts
Browserino.app (App)

反向操作:

% brew uninstall --cask browserino
% brew untrust --cask alexstrnik/browserino/browserino
% brew untap alexstrnik/browserino

 

问题:brew uninstall --cask browserino中的--cask是什么,可以不写吗?

从实践出发,大部分情况下是不用写--cask的,因为brew会先在 Formulae 中查找。如果没有找到,它会自动在 Casks 中查找。如果它发现该软件仅作为一个 Cask 存在,它会自动相应的操作。但有些软件可能同时存在命令行版本和图形界面版本(名称相同),加上 --cask 可以明确指定删除的是`.app`应用程序,而不是命令行工具。重名的软件例子有:

软件名称 brew install <name> (Formula) 效果 brew install --cask <name> (Cask) 效果
docker 安装 Docker CLI(仅命令行工具,不含虚拟机和桌面管理界面) 安装 Docker Desktop(完整的 macOS 桌面客户端,带 GUI 图形界面)
wireshark 安装 TShark 等命令行抓包分析工具(无 GUI 界面) 安装 完整的 Wireshark macOS 客户端(带 Qt 图形界面)
osquery 安装通过源码编译或 Bottle 的 osquery 核心命令行工具 安装由官方发行的 osquery .pkg 安装包(包含守护进程和相关配置)
macvim 通过源码编译/链接构建的 MacVim 二进制组件 安装包含独立 .app 封装的 MacVim 桌面应用程序

[背景知识] Homebrew 将软件分为两类:

  • Formulae: 编译安装的命令行工具(如 git, node, python)。
  • Casks: 直接安装的 macOS 应用(如 Google Chrome, Visual Studio Code, Browserino)。

--cask 是一个标志,用来告诉 Homebrew 你要操作的是一个 Cask(Cask通常是带有图形界面 .app 的 macOS 应用程序),而不是一个 Formula(通常是命令行工具或库)。

问题:brew的Formulae是一个专有名词吗?为啥不是Formula?

请注意,Formulae其实是Formula的复数形式,之所以使用 "Formulae" 而不是更常见的 "Formulas",主要是因为"Formula" 是一个源自拉丁语的单词。在英语中,源自拉丁语且以 "-a" 结尾的单词,其正规、传统的复数形式是将 "-a" 改为 "-ae"。比如Formula的复数形式就是Formulae,美式英语为了省事才用的Formulas。在数学和科学的学术语境中,人们更倾向于使用"formulae"。
 
Homebrew整个软件的设计和术语其实都严格围绕着“酿酒厂”这个主题在玩梗。Homebrew 的字面意思就是“自酿啤酒”。再比如 Formulae 指用 Ruby 语言写的安装脚本,里面记录了怎么“酿造”(编译/安装)这个软件。Cask原义是木桶,用来装已经酿好的、现成的酒,brew里用来指直接下载已经打包好的 .dmg 或 .app 二进制文件。Cellar原义是酒窖,指软件实际被安装在本地的那个隐藏文件夹(/opt/homebrew/Cellar)。Bottle是瓶子的意思,指 Homebrew 官方提前在服务器上编译好的二进制预编译包,这样你就不用在本地从源码现编译了。
 

posted on 2026-09-29 15:14  Tesserock  阅读(3)  评论(0)    收藏  举报

导航