使用终端来管理你的软件
in 技术日志安利 with 0 comment and 1250 read

使用终端来管理你的软件

in 技术日志安利 and 1251 read

macOS用户都知道,有很多时候,要用到的程序并没有一个像Windows程序一样的可视化操作界面,全都靠命令行,或者说终端来运行。举个不恰当的例子,比如说gcc,比如说python。当然,它们都有相应的IDE,但是为了小小的需求,去安装一个硕大的程序,对于硬盘空间相当珍贵的Mac用户来说,其实并不划算。

那么使用终端来进行程序和程序包的管理,就显得相当有用了。

注意!在一切的安装活动之前,我强烈要求你在App Store中搜索下载苹果官方提供的开发者工具Xcode。

Mac App的大致分类

我初步将macOS上的程序分为三大类:

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>
brew -v
brew -h

注意

在Mac OS X 10.11系统以后,/usr/local/等系统目录下的文件读写是需要系统root权限的,以往的Homebrew安装如果没有指定安装路径,会默认安装在这些需要系统root用户读写权限的目录下,导致有些命令需要添加sudo前缀来执行。

如果你不想每次都使用sudo命令,你有两种方法可以选择:

  1. 对/usr/local 目录下的文件读写进行root用户授权
sudo chown -R $USER /usr/local

示例:

sudo chown -R wentianen /usr/local
  1. (推荐)安装Homebrew时对安装路径进行指定,直接安装在不需要系统root用户授权就可以自由读写的目录下
<install path> -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

图形界面

如果你不喜欢使用命令行,还可以使用一个图形界面帮助你管理自己的Package软件包。

Cakebrew

官方网站: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
brew cask search drop
brew cask list
brew cask upgrade iina
brew cask info thunder
brew cask uninstall qq

MAS App商店应用

对于使用系统自带App Store安装的App,我们当然可以使用它来进行管理,但是如果你想要变得更酷,就可以考虑使用命令行工具来进行管理。

注意,它只能管理你已经拥有的商店应用,而无法为你购买新的应用。

系统自带命令行工具

参考我爱命令行:不用MAS更新OS X系统工具一文。

功能简单,不需要安装其他的东西即可使用。

常用命令

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之路啦!

如果我写到的内容有什么侵权的、过时的、谬误的,都请直接给我评论,我会尽快修改。

Responses