macOS 配置指南

本节贡献者

王亮(作者)、 田冬冬(作者)、 姚家园(作者)

最近更新日期

2021-01-25

预计花费时间

120 分钟

注解

本节内容适用于 macOS Catalina(10.15)和 macOS Big Sur(11.x),不一定适用于其他 macOS 版本。

近几年的 macOS 系统版本号

版本号

代号

发布日期

macOS 10.14

Mojave

2018 年 9 月 24 日

macOS 10.15

Catalina

2019 年 10 月 7 日

macOS 11

Big Sur

2020 年 9 月 12 日

注解

本节大部分软件都通过命令行安装。按下 Command + 空格,输入 “Terminal” 并按下 Enter 键以启动终端,然后在终端中输入命令并按下 Enter 键即可执行该命令。


安装系统

第一次启动 Mac 电脑后,经过简单的设置,就得到了一个可供日常使用的 macOS 系统。

macOS 系统的更新也十分简单。当有新版本发布以后,可以直接在“系统偏好设置”的“软件更新”中直接更新即可。

警告

更新系统前,特别是大版本更新(如 10.15 更新为 11.0),最好先备份一下(可以参考备份与还原)。

系统软件

经过简单设置后的 macOS 系统,尚不能满足日常科研与编程开发的需求,还需要做进一步的配置。

Command Line Tools for Xcode

Xcode 是 macOS 下的集成开发环境(IDE),类似于 Windows 下的 Microsoft Visual Studio。Command Line Tools for Xcode 是 Xcode 的一部分,其包含了常用的命令行开发工具,比如 C/C++ 编译器(gccg++)、makegit 等,是 macOS 下编程开发的必需软件。

执行如下命令,并在弹出的窗口中点击 “Install” 以安装 Command Line Tools for Xcode:

$ xcode-select --install

此处安装的 Command Line Tools for Xcode 可能不是最新版。点击桌面左上角的 Apple 图标,在“系统偏好设置”的“软件更新”中查看是否有相关更新。如果有,则升级到最新版。macOS 系统更新后,有时需重新安装 Command Line Tools for Xcode,再次执行以上命令即可。

注解

Command Line Tools for Xcode 会被安装到 /Library/Developer/CommandLineTools/ 目录,其提供的命令行工具位于 /Library/Developer/CommandLineTools/usr/bin 目录,包括 gccmakegit 等。

Homebrew

Homebrew 是 macOS 下最流行的第三方软件包管理器,类似于 Linux 系统下的 aptyumdnf 等包管理器。其可以用于安装各种常见的软件包、库文件以及字体。日常及科研工作中所需的大多数软件、库文件以及字体都可以通过 Homebrew 安装。

安装

执行如下命令以安装 Homebrew:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

注解

GitHub 在国内访问不畅,以上安装命令可能由于网络问题而失败。若以上命令失败,国内用户可以使用如下命令安装 Homebrew:

$ /bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"

该安装脚本同时还将默认源设置为中科大源以加速 Homebrew 包的下载。详情见 https://github.com/ineo6/homebrew-installhttps://brew.idayer.com/

注解

Homebrew 以及通过 Homebrew 安装的所有软件包都会被安装到特定目录下,通常是 /usr/local/目录。而在最新的 Apple M1 芯片的 Mac 下,这一目录为 /opt/homebrew/

注解

在最新的 Apple M1 芯片的 Mac 下安装 Homebrew 后,还需要设置环境变量:

$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
$ source ~/.zshrc

使用

安装好 Homebrew 后,即可以使用 Homebrew 提供的 brew 命令。 brew 的详细用法见官方文档。此处仅列出一些常用的用法:

# 模糊搜索与 wget 相关的软件
$ brew search wget

# 安装 wget 软件包
$ brew install wget

# 安装 Visual Studio Code
# 由于 Visual Studio Code 是带图形界面的软件,因而这里需要使用 --cask 选项
$ brew install --cask visual-studio-code

# 升级某个软件
$ brew upgrade xxx

# 卸载某个软件
$ brew uninstall xxx

小技巧

Homebrew 用户也可以访问网站 https://formulae.brew.sh/ 查看软件包。

编程开发环境

C/C++

Command Line Tools for Xcode 已经提供了 C/C++ 编译器和相关工具,因而无需单独安装 C/C++ 编译器。

注解

Command Line Tools for Xcode 提供的 C/C++ 编译器本质上是 Apple Clang 编译器,其与 GCC 编译器有差异,但足以满足日常科研中编译 C/C++ 程序的需求。因而一般用户无需再安装 GCC 编译器。

由于特殊原因需要安装 GCC 编译器的用户,可以使用如下命令安装:

$ brew install gcc

通过 Homebrew 安装的 GCC 提供了命令 gcc-10g++-1010 是 GCC 的主版本号),以避免替换 Command Line Tools for Xcode 提供的 gccg++ 命令。为了使用 GCC 编译器,用户可以在编译代码时显式指定使用 gcc-10g++-10,或者在 Homebrew 的 bin 目录下创建软链接:

$ cd $(brew --prefix)
$ ln -s gcc-10 gcc
$ ln -s g++-10 g++

重开一个终端后,使用 gccg++ 则默认使用的是 GCC 编译器。删除软连接后,则默认使用的又是 Apple Clang 编译器了。

Fortran

GNU Fortran 编译器是 macOS 下最常用的 Fortran 编译器,其提供了 gfortran 命令:

$ brew install gfortran

Intel 软件开发工具包

Intel oneAPI Toolkits 是英特尔最新的软件开发工具包。它也提供了 C/C++ 编译器和 Fortran 编译器(iccifort 命令)。此外还有 MKL 数学库、MPI 并行库等。该工具包是免费的,不需要许可证。

在 macOS 下,官方手册提供了多种安装方式,如在线安装、本地安装、使用 conda 安装等。这里,我们选择本地安装。

日常科研安装 Base Toolkit 和 HPC Toolkit 两个工具包即可。从官网下载安装程序。选择 Local Installer,下载 .dmg 文件并安装。默认安装目录是 /opt/intel/oneapi

配置环境变量:

$ echo "source /opt/intel/oneapi/setvars.sh >/dev/null 2>&1" >> ~/.zshrc

更多设置可以参考官方手册

Java

运行 Java 程序需要安装 Java 运行环境,即 OpenJDK:

$ brew install openjdk
$ sudo ln -sfn $(brew --prefix)/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

Python

macOS 默认的 Python 版本为 Python 2.7,而目前主流的 Python 版本为 Python 3.x。建议通过 Anaconda 来安装最新版 Python。

git

git 是目前最流行的版本控制工具,是科研过程中编写代码与项目管理推荐使用的软件。Command Line Tools for Xcode 中已经安装了 Apple 版的 git,其与原版 git 有一些区别。可以用如下命令安装原版的 git:

$ brew install git

命令行工具

macOS 系统默认安装了日常科研所需的大多数命令行工具。这里推荐一些其它有用的命令行工具。

dos2unix & unix2dos

Windows 和 Linux/macOS 系统下,文本文件的换行符是不同的。 dos2unix 可以将 Windows 系统下的换行符转换为 Linux/macOS 系统下的换行符。 unix2dos 则反之:

$ brew install dos2unix unix2dos

wget

wget 是用于下载文件的命令行工具:

$ brew install wget

tldr

tldr 是一个提供命令的常用用法和示例的命令行工具,其功能与 UNIX 下的 man 命令相似,但其提供的输出更简单、更易读。安装 tldr:

$ brew install tldr

ack

ack 是一个字符搜索工具,与 grep 命令类似。其专为搜索源代码设计,因而在日常编程中更加简单易用。安装 ack:

$ brew install ack

GNU 实用工具

macOS 下自带了很多实用工具,如 sedgrep 等(位于 /usr/bin/目录下)。需要注意,这些实用工具是由 BSD 提供的,而 Linux 系统下的实用工具则是由 GNU 提供的。BSD 和 GNU 实用工具的命令行语法有相似之处,但也有差异。二者之间的常见差异可以参考此博文。由于网络上的大部分文档介绍的都是 GNU 实用工具的用法,因而 macOS 用户在使用网络上的命令时可能会出现错误。这一点可以通过安装 GNU 实用工具来解决:

# 此处仅安装常用的 GNU 实用工具
$ brew install findutils gawk gnu-sed gnu-tar grep

Homebrew 将 GNU 实用工具安装在 /usr/local/bin 目录下,但在所有工具的名称前加上了前缀 g,以避免替换 macOS 系统自带的 BSD 实用工具,即 sed 是 BSD 提供的,而 gsed 是 GNU 提供的。一般情况下,建议使用 BSD 工具(无前缀 g),在遇到不兼容的情况下,可以考虑使用 GNU 工具(有前缀 g),但在写脚本时,要额外注意脚本的可移植性。

日常软件

以下软件均为可选,有需要的用户可以根据自己的需求选择是否安装。

iTerm2

macOS 系统自带了 Terminal 应用,但 iTerm2 相比于自带的 Terminal 具有更多有用的功能,比如支持水平和垂直分割窗格、强大的终端搜索功能、更好用的复制粘贴功能等。

$ brew install --cask iterm2

文本编辑器

macOS 系统自带的文本编辑器只具有最基本的文本编辑功能。无法满足日常编程需求。推荐安装并使用更强大的文本编辑器 Visual Studio Code:

$ brew install --cask visual-studio-code

解压软件

macOS 系统自带的解压工具可以支持 .tar.gz.zip 等格式,但默认不支持 .rar 格式。推荐安装解压软件 The Unarchiver,其支持几乎所有压缩格式。安装后即可通过双击直接解压 .rar 文件:

$ brew install --cask the-unarchiver

Google Earth

Google Earth 提供了网页版和桌面版应用。非重度用户可以使用 Google Earth 网页版,重度用户可以执行如下命令安装桌面版:

$ brew install --cask google-earth-pro

浏览器

macOS 自带了 Safari 浏览器,用户也可以安装 Google Chrome 浏览器:

$ brew install --cask google-chrome

或 Microsoft Edge 浏览器:

$ brew install --cask microsoft-edge

QuickLook 插件

macOS 下空格键具有强大的功能。在文件浏览器 Finder 中,按下空格键,会调用 QuickLook 以预览文件的内容,非常方便。QuickLook 默认支持 PDF 以及图片等格式。可以为 QuickLook 安装更多的插件以支持预览其他文件格式:

# 预览源码时加上语法高亮
$ brew install --cask qlcolorcode

# 预览无后缀的纯文本文件,比如 README,HISTORY 等
$ brew install --cask qlstephen

# 预览渲染后的 Markdown 文件
$ brew install --cask qlmarkdown

注解

安装这些插件以后,调用 QuickLook 预览文件时,可能会显示这些插件无法打开。这是因为系统默认不信任这些第三方插件。可以在“系统偏好设置”的“安全性与隐私”中点击“总是打开”来使用这些插件。这一操作可能需要重启电脑才会生效。

虚拟机

如果在使用 macOS 的同时,偶尔需要使用 Windows 或 Linux 系统,可以考虑使用虚拟机。macOS 下最常用的虚拟机软件有 Parallels DesktopVMware FusionVirtualBox。其中 VirtualBox 是免费软件;Parallel Desktop 和 VMware Fusion 是收费软件,但 VMware Fusion 为个人用户提供了免费的 License。

推荐使用 VMware Fusion。安装 VMware Fusion的命令很简单:

$ brew install --cask vmware-fusion

启动后在弹出的界面有“Get a Free License”按钮,点击跳转到 VMware 网站,注册后即可获取秘钥,输入秘钥则成功注册。