Mac安装Homebrew的那些事儿
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的那些事儿的更多相关文章
- 解决mac安装homebrew后报错-bash: brew: command not found
解决mac安装homebrew后报错-bash: brew: command not found 参照官网上很简单的一句安装命令, /usr/bin/ruby -e "$(curl ...
- Mac 安装 Homebrew
为什么要在 MAC 上安装 Homebrew 它干什么用的呢?我们知道在 CentOS 和 Ubuntu 上都有自己的包管理工具,但是在 MAC 上却没有这样类似的管理工具. # CentOS $ y ...
- Mac安装homebrew,postman,charles
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷. 1. ...
- Mac 安装HomeBrew 出错
错误如下: error: could not lock config file /usr/local/Homebrew/.git/config: Permission denied fatal: co ...
- Mac安装homebrew安装到指定目录
第一种直接安装在/usr/local目录下 mac 打开终端输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebr ...
- mac 安装 homebrew 配置
前言:刚开始转换系统可能安装各种软件继续中... 1. 打开 Mac 中的命令行工具(终端) 2. 在打开的命令行工具中输入如下语句: ruby -e "$(curl --insecure ...
- Mac 安装 homebrew 流程 以及 停在 Updating Homebrew等 常见错误解决方法
懒人操作顺序:S_01>>>S_02>>>S_03 首先这是homebrew的官网 https://brew.sh/index_zh-cn 安装方法是在终端中输入 ...
- Mac安装Homebrew
Homebrew的安装,打开终端复制.粘贴以下命令,回车 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i ...
- Mac安装Homebrew记录
在终端输入: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) ...
随机推荐
- HDU 5618:Jam's problem again(CDQ分治+树状数组处理三维偏序)
http://acm.hdu.edu.cn/showproblem.php?pid=5618 题意:…… 思路:和NEUOJ那题一样的.重新写了遍理解了一下,算作处理三维偏序的模板了. #includ ...
- .NET Core学习笔记(1)——在Linux下运行Console APP
都说.NET Core可以跨平台,说实话Linux咱也不太懂,咱也不敢问.怎样把一个简单的Console App在Linux下跑起来,真是费了我一番功夫.特做此篇以供指北. .NET Core的大饼我 ...
- vue中ajax应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 截图编辑器 PicPick Biz v4.1.6/v5.0.3 Lite 绿色便携版
下载地址:点我 PicPick 是由NGWIN 软件科技公司推出的一款实用的.多功能屏幕截图与图像编辑神器.软件具备屏幕截取.取色器.调色板.放大镜.标尺.量角器.坐标轴.白板等功能,支持全屏.活动窗 ...
- 磁盘大保健 保持你的Linux服务器存储健康
df du -sh *| sort -nr du -h --max-depth=1 / du -h --max-depth=1 /* find . -type f -size +1000000k 查找 ...
- C语言字符型数据的ASCII码值为何是负数?
有如下一段C语言程序: #include "stdio.h" int main(void) { char a = 0xC8; printf ("字符a的ASCII码值的1 ...
- JavaScript知识点---->运算规则与运算(逻辑、位)
*在js中不同类型之间的运算,所得到结果的类型也会有所变化: string + number = string string + boolean = string string + undefiend ...
- 抽象数据类型与C++
类是一种新的数据类型,类似于数据结构,只是它拥有数据结构所没有的部分——“成员函数”,正是因为它所拥有的成员函数这一特性,使得它能隐藏“数据结构”(类)中的数据,不被用户所知道.通过类中的成员函数,使 ...
- Netty中的装饰者模式
装饰者的应用 所谓装饰者,说白了,目的就是对现有的对象进行增强,装饰者设计模式最大的优点就是,它在扩展类原有功能的基础上还避免的类爆炸的情况 Netty中的装饰者模式的应用 ByteBuf是netty ...
- PHP语句中or的用法
经常看到这样的语句: $file = fopen($filename, 'r') or die("抱歉,无法打开: $filename"); or在这里是这样理解的,因为在P ...