macOS用户都知道,有很多时候,要用到的程序并没有一个像Windows程序一样的可视化操作界面,全都靠命令行,或者说终端来运行。举个不恰当的例子,比如说gcc,比如说python。当然,它们都有相应的IDE,但是为了小小的需求,去安装一个硕大的程序,对于硬盘空间相当珍贵的Mac用户来说,其实并不划算。
那么使用终端来进行程序和程序包的管理,就显得相当有用了。
注意!在一切的安装活动之前,我强烈要求你在App Store中搜索下载苹果官方提供的开发者工具Xcode。
Mac App的大致分类
我初步将macOS上的程序分为三大类:
- Package软件包
- App应用
- MAS App商店应用
Package软件包,相当于系统中的一些基础设施。许多App的运行,需要调用Package提供的功能。没有安装相应的Package,这个App就有可能无法正常工作。
App应用,就是我们在Launchpad中看到的那些带着精致图标的应用程序。App根据分发渠道还分为一般应用和商店应用。来自互联网下载到的App就是一般应用,而来自Mac App Store的App,就是商店应用。
MAS App商店应用,就是你从App Store程序中收费或者免费购买到的App,这类App便于管理,完全正版而且对于权限的控制比较优秀,是安装App的首选。
下面我们就来按照这三个类别进行管理的方法介绍。
Package软件包
Package软件包的管理,有两个可以依靠的程序:RubyGems、Homebrew。Homebrew是我们主要的工具。
RubyGems
RubyGems简称gems,是一个用于对Ruby组件进行打包的Ruby 打包系统。它提供一个分发Ruby程序和库的标准格式,还提供一个管理程序包安装的工具。
一般用户只需要用到它的包管理功能。
官方网站:RubyGems
安装方法
如果你的电脑并没有预装RubyGems,请到Download RubyGems
下载安装。
升级方法
macOS一般会预装RubyGems,但是版本都比较低,我们按照需要可以升级到最新版本。
升级只要在终端中输入下面的命令即可。
sudo gem update --system
注意,如果你没有安装rubygems-update
的话,RubyGems的1.1版本和1.2版本,在升级的时候可能遇到问题。这个时候,输入下面的命令即可正常升级了。
当然,如果你已经安装了一个比较旧版本的 RubyGems,你仍可以通过下面的命令升级:
gem install rubygems-update
update_rubygems
Linux的小伙伴可以参照MAC 命令行 HomeBrew ,RubyGems, Node.js详解一文。
常用命令
参考CocoaPods安装和使用教程-Code4App的内容
举个例子,比如我想要安装cocoapods(开发者向,iOS的类库管理工具),那么我只需要输入下面的命令。
sudo gem install cocoapods
但是,如果你在天朝,在终端中敲入这个命令之后,会发现半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。(你会问,我靠,这都要墙!是的,小编也纳闷。)
我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:
gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
gem sources -a http://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
这时候,你再次在终端中运行:
sudo gem install cocoapods
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
Homebrew
参考Homebrew简介和基本使用一文。
简称brew。macOS的软件包管理器,你可以使用Homebrew安装Apple没有预装,但你需要的东西。Homebrew使macOS更完整。你可以使用gem
来安装gems,用brew来安装那些依赖包。
这是一个非常强大的工具,即便你只是一般用户,也很有必要学会它的用法。
官方网站:Homebrew
安装方法
在终端中执行下面的命令。我建议你直接完整地复制粘贴。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
是的,全部自动,就是如此简单。
升级方法
升级请输入下面的命令。
sudo brew update
卸载方法
如果想要卸载,请依次输入下列命令。
cd `brew --prefix`
rm -rf Cellar
brew prune
rm `git ls-files`
rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
rm -rf .git
rm -rf ~/Library/Caches/Homebrew
常用命令
- 安装任意包
brew install <packageName>
示例:安装wget
brew install wget
- 卸载任意包
brew uninstall <packageName>
示例:卸载git
brew uninstall git
- 对已安装的软件包进行更新
brew upgrade
- 查询可用包
brew search <packageName>
- 查看已安装包列表
brew list
- 查看任意包信息
brew info <packageName>
- 查看Homebrew版本
brew -v
- Homebrew帮助信息
brew -h
注意
在Mac OS X 10.11系统以后,/usr/local/等系统目录下的文件读写是需要系统root权限的,以往的Homebrew安装如果没有指定安装路径,会默认安装在这些需要系统root用户读写权限的目录下,导致有些命令需要添加sudo前缀来执行。
如果你不想每次都使用sudo命令,你有两种方法可以选择:
- 对/usr/local 目录下的文件读写进行root用户授权
sudo chown -R $USER /usr/local
示例:
sudo chown -R wentianen /usr/local
- (推荐)安装Homebrew时对安装路径进行指定,直接安装在不需要系统root用户授权就可以自由读写的目录下
<install path> -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
图形界面
如果你不喜欢使用命令行,还可以使用一个图形界面帮助你管理自己的Package软件包。
官方网站:Cakebrew - The Mac App for Homebrew.
你可以在官网下载安装包,也可以简单的在终端中通过Homebrew来快速安装。
brew cask install cakebrew
这里用到的brew cask,我们马上会讲到。
App应用
不是所有开发者都拥有苹果的开发者证书,也不是所有App都能通过苹果的上架审核——来自互联网的App,比如说Github上很多开源的app,应该如何统一安装管理呢?
Homebrew-Cask
参考简洁优雅的Mac OS X软件安装体验 - homebrew-cask一文。
Homebrew-Cask,简称brew cask。通过命令行统一安装、管理Mac App的超强工具。通过它,你安装App再也不需要“拖拽到应用程序文件夹”了。
那么它与Homebrew本体有什么区别呢?
brew主要是用来安装一些开发者向的命令行工具,而brew cask作为brew的扩展,主要是用来给一般用户安装带有图形界面的App。
更详细的内容可以参照知乎上的问题brew和brew cask有什么区别?,此处不再赘述。
官方网站:Homebrew-Cask
安装方法
在确认已经安装好Xcode和Homebrew之后,在终端中输入下列命令。
brew tap caskroom/cask
常用命令
- 列出所有可以被安装的软件
brew cask search
- 查找所有和 drop 相关的应用
brew cask search drop
- 列出所有已安装的应用
brew cask list
升级应用,比如升级iina播放器
brew cask upgrade iina
- 查看应用的信息,比如迅雷
brew cask info thunder
- 卸载应用,比如QQ
brew cask uninstall qq
MAS App商店应用
对于使用系统自带App Store安装的App,我们当然可以使用它来进行管理,但是如果你想要变得更酷,就可以考虑使用命令行工具来进行管理。
注意,它只能管理你已经拥有的商店应用,而无法为你购买新的应用。
系统自带命令行工具
功能简单,不需要安装其他的东西即可使用。
常用命令
- 下载并安装指定更新项目,将PackageName改为更新项名称即可
sudo softwareupdate -i PackageName
- 将存在的更新项目罗列出来
sudo softwareupdate -l
- 自动下载并安装所有更新
sudo softwareupdate -i -a
第三方命令行工具——mas
mas是一个MAS的命令行工具,为了脚本和自动化而设计。
通过mas,你可以在终端中进行MAS App商店应用的安装、更新以及卸载。
官方网站:mas-cli/mas
安装方法
通过brew进行安装。
brew install mas
常用命令
- 登录账号
mas signin mas@example.com
- 退出账号
mas signout
- 列出应用
mas list
- 查找应用
mas search Xcode
会得到如下显示结果:497799835 Xcode
。这里的这串数字,就是应用的识别码了。
- 安装应用
安装应用需要通过应用的识别码,就是上面我们得到的那串数字。
比如我现在要安装Xcode。
mas install 497799835
- 过时应用
mas outdated
- 升级应用
可以选择一次更新全部应用:
mas upgrade
也可以选择只更新单个应用,比如只更新Xcode:
mas upgrade 497799835
一些更高级的用法,也可以参考终端上的 Mac App Store「mas」让应用的安装与更新无比轻松一文。
总结
作为一个macOS用户,不会点命令行,和咸鱼有什么区别[doge]。
是时候开启你的Geek之路啦!
如果我写到的内容有什么侵权的、过时的、谬误的,都请直接给我评论,我会尽快修改。
本文由 maemolee 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: May 28, 2019 at 11:59 pm