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. HDU 5618:Jam's problem again(CDQ分治+树状数组处理三维偏序)

    http://acm.hdu.edu.cn/showproblem.php?pid=5618 题意:…… 思路:和NEUOJ那题一样的.重新写了遍理解了一下,算作处理三维偏序的模板了. #includ ...

  2. .NET Core学习笔记(1)——在Linux下运行Console APP

    都说.NET Core可以跨平台,说实话Linux咱也不太懂,咱也不敢问.怎样把一个简单的Console App在Linux下跑起来,真是费了我一番功夫.特做此篇以供指北. .NET Core的大饼我 ...

  3. vue中ajax应用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 截图编辑器 PicPick Biz v4.1.6/v5.0.3 Lite 绿色便携版

    下载地址:点我 PicPick 是由NGWIN 软件科技公司推出的一款实用的.多功能屏幕截图与图像编辑神器.软件具备屏幕截取.取色器.调色板.放大镜.标尺.量角器.坐标轴.白板等功能,支持全屏.活动窗 ...

  5. 磁盘大保健 保持你的Linux服务器存储健康

    df du -sh *| sort -nr du -h --max-depth=1 / du -h --max-depth=1 /* find . -type f -size +1000000k 查找 ...

  6. C语言字符型数据的ASCII码值为何是负数?

    有如下一段C语言程序: #include "stdio.h" int main(void) { char a = 0xC8; printf ("字符a的ASCII码值的1 ...

  7. JavaScript知识点---->运算规则与运算(逻辑、位)

    *在js中不同类型之间的运算,所得到结果的类型也会有所变化: string + number = string string + boolean = string string + undefiend ...

  8. 抽象数据类型与C++

    类是一种新的数据类型,类似于数据结构,只是它拥有数据结构所没有的部分——“成员函数”,正是因为它所拥有的成员函数这一特性,使得它能隐藏“数据结构”(类)中的数据,不被用户所知道.通过类中的成员函数,使 ...

  9. Netty中的装饰者模式

    装饰者的应用 所谓装饰者,说白了,目的就是对现有的对象进行增强,装饰者设计模式最大的优点就是,它在扩展类原有功能的基础上还避免的类爆炸的情况 Netty中的装饰者模式的应用 ByteBuf是netty ...

  10. PHP语句中or的用法

     经常看到这样的语句: $file = fopen($filename, 'r') or die("抱歉,无法打开: $filename"); or在这里是这样理解的,因为在P ...