本文翻译自:Uninstall / remove a Homebrew package including all its dependencies

I have a Homebrew package that I wish to uninstall / remove with all its dependencies, skipping packages whom other packages depend upon. 我有一个Homebrew包,我希望卸载/删除所有依赖项,跳过其他包依赖的包。

eg Uninstall package a which depends on packages b & c , where package d also depends on package c . 例如,卸载包a ,这取决于包bc ,其中包d也取决于包c The result should uninstall both a & b , skipping c . 结果应该同时卸载ab ,跳过c

How can I do that? 我怎样才能做到这一点?

There must be a way to uninstall a package without leaving unnecessary junk behind. 必须有一种方法来卸载包,而不会留下不必要的垃圾


#1楼

参考:https://stackoom.com/question/Uj77/卸载-删除Homebrew包-包括其所有依赖项


#2楼

您可以使用UNIX管道

brew deps [FORMULA] | xargs brew rm

#3楼

Using this answer requires that you create and maintain a file that contains the package names you want installed on your system. 使用此答案需要您创建和维护包含要在系统上安装的软件包名称的文件。 If you don't have one already, use the following command and delete the package names what you don't want to keep installed. 如果您还没有,请使用以下命令并删除您不想继续安装的软件包名称。

brew leaves > brew_packages

Then you can remove all installed, but unwanted packages and any unnecessary dependencies by running the following command 然后,您可以通过运行以下命令来删除所有已安装但不需要的软件包以及任何不必要的依赖项

brew_clean brew_packages

brew_clean is available here: https://gist.github.com/cskeeters/10ff1295bca93808213d brew_clean可在此处获取: https : brew_clean

This script gets all of the packages you specified in brew_packages and all of their dependancies and compares them against the output of brew list and finally removes the unwanted packages after verifying this list with the user. 此脚本获取您在brew_packages中指定的所有包及其所有依赖项,并将它们与brew list的输出进行比较,最后在与用户验证此列表后删除不需要的包。

At this point if you want to remove package a , you simply remove it from the brew_packages file then re-run brew_clean brew_packages . 此时如果要删除包a ,只需将其从brew_packages文件中删除,然后重新运行brew_clean brew_packages It will remove b , but not c . 它会删除b ,但不会删除c


#4楼

The goal here is to remove the given package and its dependencies without breaking another package's dependencies. 这里的目标是删除给定的包及其依赖项, 而不会破坏另一个包的依赖项。 I use this command: 我用这个命令:

brew deps [FORMULA] | xargs brew remove --ignore-dependencies && brew missing | xargs brew install

Note: Edited to reflect @alphadogg's helpful comment. 注意:编辑反映@ alphadogg的有用评论。


#5楼

Based on @jfmercer answer (corrections needed more than a comment). 基于@jfmercer的答案(更正需要的不仅仅是评论)。

Remove package's dependencies (does not remove package): 删除包的依赖项(不删除包):

brew deps [FORMULA] | xargs brew remove --ignore-dependencies

Remove package: 删除包:

brew remove [FORMULA]

Reinstall missing libraries: 重新安装缺少的库:

brew missing | cut -d: -f2 | sort | uniq | xargs brew install

Tested uninstalling meld after discovering MeldMerge releases . 在发现MeldMerge版本后测试卸载meld


#6楼

brew rmtree doesn't work at all . brew rmtree 根本不起作用 。 From the links on that issue I found rmrec which actually does work. 从这个问题的链接我发现rmrec实际上工作。 God knows why brew doesn't have this as a native command. 上帝知道为什么brew没有这个作为本土命令。

brew tap ggpeti/rmrec
brew rmrec pkgname

卸载/删除Homebrew包,包括其所有依赖项相关推荐

  1. 一行命令装下所有「炼丹」工具及依赖项,就靠这个免费软件源了|教程

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 相信不少 ...

  2. linux上安装python、igraph源码包_linux ubuntu 安装/卸载/删除python-igraph方法

    如何在Ubuntu 16.10上安装python-igraph? 首先使用以下命令更新系统: sudo add-apt-repository ppa:igraph/ppa # Add the Laun ...

  3. rpm包 卸载php,强制删除rpm包的方法

    删除软件 要删除软件非常简单,只要执行下面的命令就行:# rpm –e xanim 这时,用户要注意使用的是软件的名称xanim,而不是软件包的名称xanim-27.64-3.i386.rpm. 如果 ...

  4. php删除composer重装,php – Composer:删除一个包,清理依赖关系,不要更新其他包

    情况 假设我有一个由Composer安装的两个软件包的项目: php composer.phar require 'squizlabs/php_codesniffer:~2.0' 'phpmd/php ...

  5. Ubuntu22.04卸载删除软件去除deb包

    是这样的,安装后需要去除一个软件,通过deb包安装的.需要2个步骤,一个是删除软件,一个是去除deb包 删除软件 通过dpkg --list命令查看你要卸载的软件 root@80-ubuntu:/et ...

  6. Deb包安装如何解决依赖问题

    在 Unbuntu 系统上安装各种软件时,经常会遇到各种各样的依赖问题而导致安装无法进行.我作为一枚 Linux 小白正深受其苦,经常越弄越乱导致不得不重装系统(哭).通常来说,这类问题可以通过 更换 ...

  7. 前端包管理器的依赖管理原理

    本文主要探究前端包管理器的依赖管理原理,希望对读者有所帮助. 前言 npm是Node.JS的包管理工具,除此之外,社区有一些类似的包管理工具如yarn.pnpm和cnpm,以及集团内部使用的tnpm. ...

  8. npm 常用命令 使用命令删除 node_modules 包

    查看 npm 命令 npm help 全局命令参数 -g npm install -g // 安装全局npm uninstall -g // 卸载全局 全局node包中 i5ting_toc 这个包可 ...

  9. 如何在Android模拟器上安装和卸载APK程序包

    如何在Android模拟器上安装和卸载APK程序包 Android, 程序包, APK, 卸载, 模拟 一,安装APK          安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废 ...

最新文章

  1. QPS/TPS/并发量/系统吞吐量的概念
  2. Linux文件目录结构2
  3. Linux 利用yum源安装php5.6+nginx
  4. windows平台源码编译最新版openssl
  5. cvLoadImage()的调用参数设置
  6. soapui 测试webservice
  7. 云服务器怎么安装声音驱动_GPU云服务器如何安装NVIDIA Tesla驱动
  8. MATLAB的.fig文件打不开——有效解决
  9. bootstrap案例解析
  10. 学计算机编程难吗,编程真的很难吗?为什么会认为学编程难?
  11. LeetCode 371. 两整数之和(异或操作) / 639. 解码方法 II(动态规划)/ 437. 路径总和 III
  12. 使用Python来操作邮箱
  13. 五大基本算法及其经典问题
  14. coreseek note
  15. 基于微信小程序的网上电影购票的设计与实现
  16. Method has too many Body parameters: public abstract java.util.List com.yun.client.DemandClient.que
  17. 大一上军事理论网课章测试及见面课答案
  18. cobar rule 简介
  19. 在命令行下,如何使用JAD反编译jar文件
  20. 2017年第四届C/C++ A组蓝桥杯省赛真题

热门文章

  1. C# Note21: 扩展方法(Extension Method)及其应用
  2. Open***学习笔记——*** Server网络配置
  3. 安全监控、告警及自动化!
  4. ASP.NET Web API 配置 JSONP
  5. lazy load 图片延迟加载 跟随滚动条
  6. 一致性 hash 算法
  7. Java4Android视频笔记
  8. 数据结构和算法1 稀疏数组
  9. hdu 1361 Parencodings 简单模拟
  10. [LeetCode] Intersection of Two Arrays 两个数组相交