- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近将 Mac OS X 升级到了 Yosemite,我想确保我当前安装的每个软件包都是一个 Yosemite 瓶子。
如何列出已安装的瓶子及其操作系统版本,以便最终卸载/安装它们?
编辑 Grepping 字符串 "bottled"将不起作用,因为如果有一个瓶子可用于包,它仍然存在,但您仍然可以从源代码编译。例如,我刚刚从源代码和 brew info yasm
构建了 yasm返回:
yasm: stable 1.3.0 (bottled), HEAD
Modular BSD reimplementation of NASM
http://yasm.tortall.net/
/usr/local/Cellar/yasm/1.3.0 (44 files, 3.3M) *
Built from source
[...]
最佳答案
列出所有瓶装配方的最快方法是 query brew info --json
的 JSON 输出直接(这需要 jq
):
brew info --json=v1 --installed | jq -r "map(select(.installed[].poured_from_bottle) | .name) | unique | .[]"
在这里,
brew info --json=v1 --installed
为所有已安装的公式提供 JSON 格式的信息。
jq
处理这个(不带参数使用它来美化输出)。
select(.installed[].poured_from_bottle)
选择至少安装了一个瓶装版本的每个配方,以及
map(... | .name)
返回关联的名称。
| unique
确保在安装了多个瓶装版本的情况下,公式名称仅返回一次,
| .[]
将返回的名称数组分成一个列表,每个列表在单独的行中,和
-r
从 JSON 输出中去除引号,留下可以传递到其他 shell 命令的格式。
#!/bin/bash
#: * `bottled` [<options>]:
#:
#: List all bottled formulae which are currently installed.
#:
#: --versions Show the version number for bottled
#: formulae
#: -h, --help Show this message.
#:
#: (`brew bottled` requires `jq`. Use `brew install jq` to install.)
if type jq &>/dev/null; then
case $1 in
--versions)
brew info --json=v1 --installed | \
jq -r "map(select(.installed[].poured_from_bottle) | .name + \" \" + .installed[].version) | .[]"
;;
*)
brew info --json=v1 --installed | \
jq -r "map(select(.installed[].poured_from_bottle) | .name) | unique | .[]"
;;
esac
exit $?
else
echo '`brew bottled` requires jq. Use `brew install jq` to install.'
exit 1
fi
叫它
brew-bottled
,使其可执行(
chmod a+x brew-bottled
)并将其放在路径中的某个位置(例如
/usr/local/bin
)。现在您可以将其称为
external command与
brew bottled
列出您的瓶装配方。 (作为额外的奖励,
--versions
开关将包含版本信息,类似于
brew list --versions
,包括相同公式的多个瓶装版本。)
xargs
:
brew-bottled | xargs brew reinstall -s
(离开
-s
只需重新安装当前的操作系统瓶子。)
关于macos - Homebrew:如何列出已安装的瓶子及其操作系统版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876845/
我也不能再跑 brew upgrade或 brew update : 都中止 Error: homebrew-core is a shallow clone. To `brew update` fir
是否可以与 Homebrew 并行安装多个版本? 我发现自己处于需要 sbt-0.7.x、sbt-0.10.x 和 sbt-0.11.0 的情况。我目前已手动安装了 sbt-0.7.7 和 sbt-0
我使用Homebrew Cask来安装ngrok。安装进行得很好。我正在尝试编辑ngrok的config.yml文件。我在Mac上找不到它。 看来ngrok住在这里: /usr/local/Cask
Homebrew 瓶是从哪里下载的? Homebrew Documentation: Bottles不说。 我创建了一个 Github Homebrew/brew issue #672 . 最佳答案
我想安装screen,但是接下来我应该做什么? $ brew search screen imgur-screenshot screen
我最近决定 brew install stack,Haskell 包管理器,但中途改变了主意,用 ctrl+c 打断了。看起来安装在我的计算机上占用了合理数量的存储空间,但是,所以我认为从安装中下载的
有以下两个包有冲突。解决此冲突的正确方法是什么? $ brew cask install rar ==> Downloading https://www.rarlab.com/rar/rarosx-5
我想将一些 shell 脚本 + 支持文件打包成一个 Homebrew 公式,将这些脚本安装在用户的某处 $PATH .我将从我自己的水龙头中提供配方。 通读formula cookbook这些示例似
我今天在不知道自己在做什么的情况下安装了 Homebrew 软件,现在我的 scikit-learn 包坏了。我想通过卸载 Homebrew 软件来撤消我所做的一切,并尝试按照此处的提示操作: htt
不知何故,我的 Homebrew 安装有一个 prefix 〜/.rvm。我想将其设置为默认值 /usr/local . 这可能吗? 最佳答案 看来我需要 卸载 Homebrew 软件。 Here's
我有一个具有以下依赖项的电子应用程序: ffmpeg libmagic gdbm 目前,我使用 Homebrew 并运行 brew install ffmpeg等在应用程序启动时。 但是,这对于分发来
我有一个 Homebrew安装在 $HOME/brew ,而且从历史上看,它运行良好。不幸的是,随着时间的推移,Homebrew 越来越不能容忍 /usr/local 之外的安装。 .各种公式对安装前
反正有没有命令brew显示任何给定包的所有已安装或可选依赖项?查看哪些安装包本身是其他包的依赖项也会很有帮助。 最佳答案 您可以使用 info 命令,例如。 brew info ffmpeg 它将向您
我按照 http://caskroom.io/ 中的描述安装了 Homebrew Cask 用于踢球.它归结为以下命令: $ brew install caskroom/cask/brew-cask
是否可以在详细模式下运行,在该模式下,它实际上并不安装软件包,而只是安装软件包的位置和方式的详细信息? 最佳答案 您可以运行 brew outdated 来查看运行 brew Upgrade 时将升级
在我的 CI 设置中,我想确保安装给定公式的最新版本,无论它是否已安装。 我目前正在使用类似的东西: brew update brew install FORMULA || (brew upgrade
我正在阅读这个堆栈溢出答案 Mac user and getting WARNING: Nokogiri was built against LibXML version 2.7.8, but has
我正在尝试在 Mac OS X 10.9 上安装 wxWidgets。它已经安装,但我遇到了描述的问题 here 。有人建议添加 ENV.append_to_cflags "-stdlib=libc+
我最近开始使用 Homebrew 程序,我对当我在我的系统上 brew 某些东西时会发生什么感到有点困惑,但它的 brew 依赖项是仅桶的,这意味着它们在 /usr 下链接/本地。 例如,我正在安装v
我知道当我brew update时,它会列出所有==>更新的公式,但是当我更新了几次而没有运行brew update时code>,如何获取所有可以升级的应用程序的列表? 最佳答案 每homebrew
我是一名优秀的程序员,十分优秀!