brew又叫homebrew,是macos上的一个包管理工具,能够在mac中方便的进行包管理,类似于ubuntu系统下的apt-get,记得自己第一次接触brew是为了在mac上安装一个独立绿色的视频播放器,因为mac自带的播放器QuickTime Player实在是太简陋了。多方查找资料后发现了IINA这款软件。让我没想到的是,这款软件不是我熟悉的通过.dmg文件安装,而是需要通过他们所说的一个叫brew的东西来安装。这可能是我接触自由软件世界的第一个窗口,仍然记得当时在终端中运行brew cask install iina,看到屏幕中打印出来的进度条,然后IINA被安装到applications中的那种惊喜感。而且发现使用的是清华的镜像源,心想我们学校Linux协会也太没牌面。

  安装brew的方法很简单,按照官网上的说明在终端中运行对应的命令即可。下面介绍brew的常用命令。

  上面这个图是在终端中运行brew的结果,已经涵盖了brew最最常用的一些命令。

brew list                    #列出所有安装的包
brew search + 包名 #在源中搜索期望的包
brew info + 包名 #在源中搜索期望的包,并且打印更详细的信息
brew install + 包名 #安装对应的包
brew uninstall + 包名 #卸载已经安装的包
brew updata #升级brew

  下面是brew稍微不常用但是也非常有用的命令:

brew deps + 包名          #显示包的依赖
brew link + 包名 #将包link到环境中
brew unlink + 包名 #brew link的逆操作

  brew deps显示了该包依赖的其他包,强烈建议在安装包之前三步走:search deps info,这样会极大程度上避免安装和自身不兼容的包。而且防止安装许多不需要的包。

  关于brew link则需要了解一个概念-> keg-only ,字面翻译,装在桶里。也就是说这个软件虽然被brew下载下来了,但是却没有被系统所使用,也就是没有被加入到环境变量里。默认brew install是进行了brew link操作的,但是如果出现冲突,软件就会变成keg-only状态,这时候需要brew link使brew安装的软件发挥作用。同时,如果不想使用brew安装的软件,brew unlink就是很好的选择,环境变量会指向其他的包。比如使用brew安装python,很容易会和环境中原来的python冲突,brew unlink则会失能brewpython。这时候需要仔细看自己将要安装的包的依赖里是否有python,如果有的话很可能会出现意想不到的情况。

  细心的朋友可能发现,我安装IINA没有使用brew install,而是使用了brew cask install。他们的区别是什么呢?brew install安装的东西,在brew里被称作formula,其实也就是从网上下载源码,然后make,build,这样就可以在本地安装对应软件。brew cask install安装的则是已经编译打包好的软件包。不难想象brew cask安装的软件很容易的被移动到了applications文件夹里。

Homebrew命令总结的更多相关文章

  1. 常用的Homebrew命令

    一些常用的Homebrew命令: 更新:brew update 安装包信息检索:brew info 安装包搜索:brew search foo 安装包列表:brew list 过时信息:brew ou ...

  2. Homebrew命令具体解释

    Homebrew命令具体解释 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一.安装Homebrew Shell环境下 ...

  3. homebrew命令

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  4. Homebrew 命令

    安装(需要 Ruby):ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 搜索 ...

  5. homebrew学习(三)之homebrew命令

    安装homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...

  6. Windows上使用Linux命令

    WSL Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canonical公 ...

  7. [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决

    [Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...

  8. 01.Homebrew

    1.homebrew 的安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ ...

  9. Mac安装homebrew,postman,charles

    Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷. 1. ...

随机推荐

  1. js操作html的基本方法

    刚学了js操作html的基本方法,在写代码过程中,有很多格式不规范,忘记加双引号尤其重要,通常这 样的错误很容易范,并且这种错误很难找.随着代码学习量越来越多,很多写法容易搞混.今天记录一下,以便后期 ...

  2. day24 面向对象与实例属性

    编程进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定义了一个函数),便实现来代码重用,且代码从无结构走向了机构化, ...

  3. [Unity2d系列教程] 005.Unity如何使用外部触控插件FingerGuesture

    用过Unity的都知道自带的Input.touches并不支持鼠标输入,给我们的调试带来很大的不方便.那么我们会发现其实有很多触控方面的插件,如inputtouches,easy touch,fing ...

  4. 读Pyqt4教程,带你入门Pyqt4 _007

    QSlider 滑块是由一个简单的滑柄的窗口组件.该滑柄可以前后拖动,通过这种方式我们可以为特定任务选择值.有时候使用滑块比简单提供数值或使用微调框(spin box)更自然. QLabel 显示文字 ...

  5. [安卓基础] 008.Android中的显示单位

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  6. 基本的sql-select语句

    插入三张表: @d:/del_data.sql;                   @d:/hr_cre.sql;                   @d:/hr_popul.sql;select ...

  7. SpringBoot--SpringMVC自动配置

    SpringMVC自动配置 1.SpringBoot官方文档对SpringMVC的默认配置: Inclusion of ContentNegotiatingViewResolver and BeanN ...

  8. Nuxt.js

    nuxt.js简单来说是Vue.js的通用框架,最常用的就是SSR(服务端渲染),nuxt.js这个框架,用Vue开发多页面应用,并在服务端完成渲染,可以直接用命令把我们制作的vue项目生成为静态的h ...

  9. CSS 风车(花瓣)旋转动画圆角

    这是一个综合的案例,用到了transition(动画,动作在单位时间内完成),transform(旋转),border-radius(圆角),absolute(定位),linear-gradient( ...

  10. HTML5+CSS+JS 贪吃蛇demo

    我写博客的主要目的就是温习所学的知识,自己以前写的游戏当然不能放过! 这款网页版贪吃蛇是大一下册学习网页前端时老师教我们写的,由于那个时候初学网页前端,所以这款游戏是纯原生Java Script写的, ...