CentOs
下有yum
,Ubuntu
下有apt
,windows
下有?chocolatey
,除此之外微软在 Build 2021 开发者大会上宣布,Windows
软件包管理器 winget 1.0
版本正式发布,当然博主还未使用。不过由于公司开发使用的是MacOS
,所以本篇就介绍Mac
下的包管理器——Homebrew。
https://brew.sh/index_zh-cn 执行如下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
由于众所周知的原因,一般情况是会报错的:Failed to connect to raw.githubusercontent.com port 443: Connection refused
更换命令,感谢前人栽树:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
1
y
执行脚本先用起来吧。
brew install redis
tree命令可以显示文件夹下的文件结构,是非常好用的一个命令工具。
brew install tree
细心的童鞋可能已经发现上面安装的软件路径与其他博客不一样:
Homebrew安装的软件会默认在
usr/local/Cellar
路径下。
而博主的目录是:/opt/homebrew/Cellar/软件名称/版本号
,这是为什么?
经过一番资料查阅,公司分配给博主的本本是搭载M1
芯片的最新款MacBook Pro
;
而M1
采用了ARM架构,这也是ARM芯片首次进入个人电脑领域,博主不是很懂硬件,这背后的故事可丰富了,反正到故事结局:苹果”不讲武德“,Intel 处理器出局;从而实现全系列硬件生态的统一闭环,最终在 iPhone、iPad 和 Mac 系列上全部用上自研的芯片,感兴趣的童鞋可以搜搜。而Homebrew 也正是在这种背景下,积极适配新架构,就有了如下做法:
/opt/homebrew
路径下,而非此前的 /usr/local/Homebrew
Homebrew Bundle
功能从旧 Mac 或 X86 版 Homebrew 迁移软件包。那么,为什么 ARM 版 Mac 要使用 /opt
路径?
根据《文件系统层次结构标准》(?Filesystem Hierarchy Standard,主要为 Linux 系统制定,但对具有共同 UNIX 基因的 macOS 也有参考价值):
/usr/local
目录用于系统管理员在本地安装软件。系统软件更新时,该目录应免于被覆盖。/opt
目录留作附加应用程序(add-on application)软件包的安装。安装在该目录下的软件包必须将其静态文件放置在单独的 /opt/<package>
或 /opt/<provider>
路径下。历史上,/usr/local
主要用于放置在本地编译并另行安装的程序,避免和 /usr
下的系统自带版本冲突;而 /opt
则用于安装非系统自带的、第三方预先编译并发行的独立软件包。
显然,在如今的 macOS 使用场景下,用户很少会需要自行编译软件包,/usr/local
和 /opt
的区分一定程度上已经成为名义上的了。Homebrew 启用 /opt
作为 ARM 版的安装路径,可能更多是出于确保与 X86 版相互区隔的考虑。
https://sspai.com/post/63935
------------------- End -------------------