Mac安装Homebrew的那些事儿

最近小明刚换置了一个 Mac 本,想搭建一个属于自己的博客网站,需要用到 Node.js 环境,而Node.js 在 MacOS 中是由 Homebrew 进行安装管理的……因此,便有了Homebrew的安装历程。

什么是Homebrew?

简而言之,Homebrew是Mac Os的包管理工具,相当于Redhat Linux(Centos/RHEL/Fedora)的yum或者Debian Linux(Debian/Ubuntu)的apt-get

如何安装Homebrew?

我们使用官网提供的统一安装方法,只需执行下面的命令即可

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

Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,Mac上默认已经给我们安装好了。一段漫长的时间过后,当出现Installation successful!提示时就表示已经安装成功。

如果文章到此结束,那这篇文章的价值也太低了吧。接下来给大家扩展一下。

安装时可能遇到的问题

读写权限不够

小明安装的时候遇到一个问题就是出现如下的提示,表明当前用户权限不够:

touch: /Users/xiaoming/Library/Caches/Homebrew/.cleaned: Permission denied

解决方案

需要超级管理员(root)赋予权限,执行以下的命令:

sudo chown -R ${USER} /Users/xiaoming/Library/Caches/Homebrew/

根据提示输入密码即可。

chown指令是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。表示使用root用户赋予当前用户对该目录的操作权限。

如何提高brew安装软件的速度?

当我们一路披荆斩棘或者顺风顺水安装成功brew过后,即可执行自己为所欲为安装自己想要的软件,比如

brew install node

但是好像有点不妙,执行命令过后,下载安装的速度怎么这么感人?发现问题是一个很好的开始,有强迫症的小明第一时间就在网上搜集各种资料,一边享受着互联网时代的福祉,一边自己不停的踩坑,经历过数次下载-安装-卸载过后终于从坑里成功爬出。

更换Bottles源

Homebrew 安装的软件默认都在以下目录中:

/usr/local/Cellar/

Cellar意为酒窖、地窖,⽽Homebrew官⽅预先编译好的⼀个软件叫做⼀个 Bottle(酒瓶⼦),Bottles就是很多酒瓶⼦(即软件),Homebrew把安装⼀个软件叫做把⼀个酒瓶⼦放到酒窖(地窖)⾥(不过其实是pour,即倒到酒窖⾥)。

Homebrew官⽅的软件(即Bottles)是放在 bintray (https://bintray.com/)⽹站中的,因为是国外⽹站及众所周知的原因,如果直接从这⾥下载是⾮常慢的,所以我们还是要把它换成国内的源(由中科⼤提供):

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile

该命令执行过后,我们就可以体验一下飞一般的速度了~嗖嗖嗖~

等一下(尔康表情包),顺便再提一嘴,明哥经常用到的几个命令吧。

brew几个基本使用命令

  • 查询软件

    brew search 软件名
  • 安装软件

    brew install 软件名
  • 启动|停止|重启软件

    对于需要在后台运行的软件,大部分可用以下方式启动|停止|重启(它的原理是用launchctl+plist,用这种方式启动的软件重启电脑后也会自动启动)

    brew services start|stop|restart 软件名

关于brew services的原理及详细用法,大家可以查看:Mac服务管理 – launchd、launchctl、LaunchAgent、LaunchDaemon、brew services详解。

  • 卸载软件

    brew uninstall 软件名
  • 查看软件的信息

    brew info 软件名
  • 查看安装了哪些软件

    brew list 软件名
  • 查看安装了哪些软件

    brew list 软件名
  • 查看帮助

    brew help

以上就是brew常用的几个命令,最后的最后再说一下,再多提一嘴,如何和优雅地和brew说分手。

卸载brew

因为一开始我们使用的是官方安装方式,因此好聚好散,我们还是使用官方的卸载方式:

/usr/bin/ruby -e "$(curl -fsSL https://mirrors.aliyun.com/homebrew/brew/install/master/uninstall)"  

执行过后,一切宛如初见~

各位,祝好。有什么问题记得留言哈。

Mac安装Homebrew的那些事儿的更多相关文章

  1. 解决mac安装homebrew后报错-bash: brew: command not found

    解决mac安装homebrew后报错-bash: brew: command not found     参照官网上很简单的一句安装命令, /usr/bin/ruby -e "$(curl ...

  2. Mac 安装 Homebrew

    为什么要在 MAC 上安装 Homebrew 它干什么用的呢?我们知道在 CentOS 和 Ubuntu 上都有自己的包管理工具,但是在 MAC 上却没有这样类似的管理工具. # CentOS $ y ...

  3. Mac安装homebrew,postman,charles

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

  4. Mac 安装HomeBrew 出错

    错误如下: error: could not lock config file /usr/local/Homebrew/.git/config: Permission denied fatal: co ...

  5. Mac安装homebrew安装到指定目录

    第一种直接安装在/usr/local目录下 mac 打开终端输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebr ...

  6. mac 安装 homebrew 配置

    前言:刚开始转换系统可能安装各种软件继续中... 1. 打开 Mac 中的命令行工具(终端) 2. 在打开的命令行工具中输入如下语句: ruby -e "$(curl --insecure ...

  7. Mac 安装 homebrew 流程 以及 停在 Updating Homebrew等 常见错误解决方法

    懒人操作顺序:S_01>>>S_02>>>S_03 首先这是homebrew的官网 https://brew.sh/index_zh-cn 安装方法是在终端中输入 ...

  8. Mac安装Homebrew

    Homebrew的安装,打开终端复制.粘贴以下命令,回车 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i ...

  9. Mac安装Homebrew记录

    在终端输入: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) ...

随机推荐

  1. Disruptor 详解 二

    Disruptor 的大名从很久以前就听说了,但是一直没有时间:看完以后才发现其内部的思想异常清晰,很容易就能前移到其他的项目,所以仔细了解一下还是很有必要的这.篇博客将主要从源码角度分析,Disru ...

  2. 5. xadmin 后台搭建

    要维护他人产权,就不喽了,直接飞机 Django1.11.11使用xadmin的方法(一: 快速安装篇):https://www.jianshu.com/p/bcb74595213e Django1. ...

  3. WPF 入门笔记之事件

    一.事件路由 1. 直接路由事件 起源于一个元素,并且不能传递给其他元素 MouserEnter 和MouserLeave 就是直接事件路由 2. 冒泡路由事件 在包含层次中向上传递,首先由引发的元素 ...

  4. 基于SpringCloud的Microservices架构实战案例

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  5. 版本管理--svn解决代码冲突

    高级的svn解决冲突的方法: 选择正在冲突的文件,右键,选择Edit confilicts,这时候出现一个弹框, 看你实际的需要用自己的代码,还是用同事的代码,或者合并起来.最后点击Mark as r ...

  6. php常用实用函数整理

    1.PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密. function encryptDecrypt ...

  7. 从后端到前端之Vue(二)写个tab试试水

    上一篇写了一下table,然后要写什么呢?当然是tab了.动态创建一个tab,里面放一个table,这样一个后台管理的基本功能(之一)就出来了. 好吧,这里其实只是试试水,感受一下vue的数据驱动可以 ...

  8. 调用另一个进程,createprocess返回值正确,但被调进程连入口函数都没进入。

    1.单独运行被调进程(提示atl不匹配). 2.编译选项设置为不依赖atl即可. 3.启发:能单独测试的,先单独测试.

  9. 题解 P2949 【[USACO09OPEN]工作调度Work Scheduling】

    P2949 [USACO09OPEN]工作调度Work Scheduling 题目标签是单调队列+dp,萌新太弱不会 明显的一道贪心题,考虑排序先做截止时间早的,但我们发现后面可能会出现价值更高却没有 ...

  10. springboot+mongodb 按日期分组分页查询

    List<Integer> types = new ArrayList<>(); types.add("条件1"); types.add("条件2 ...