ZEROMAKE | keep codeing and thinking!
2019-07-30 | mac

Mac 环境配置

前言

最近向公司申请了新的 19MacBook Pro,需要重新搭建环境,因为一些网络上的资料过时的原因,记录一下搭建流程备忘。

一、包管理器

可以参考以下官方说明来直接安装 brew

brew主页

阿里brew安装指南

或者直接参考以下命令进行安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后就可以使用 brew 命令来安装各种环境了,如果发现 brew 拉取缓慢可以考虑更换国内源:

阿里云:

1
# 替换brew.git:
2
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
3
# 替换homebrew-core.git:
4
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
5
# 应用生效
6
brew update
7
# 替换homebrew-bottles:
8
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
9
source ~/.bash_profile
10
# 可选的 zsh 配置
11
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
12
source ~/.zshrc

清华大学源:
homebrew替换文档
homebrew-bottles替换文档

1
# 替换brew.git:
2
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
3
# 替换homebrew-core.git:
4
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
5
# 应用生效
6
brew update
7
# 替换homebrew-bottles:
8
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
9
source ~/.bash_profile
10
# 可选的 zsh 配置
11
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
12
source ~/.zshrc

二、xcode 安装

xcode 必须安装,否则各种需要编译的工具都无法使用,包括 gocgopython 的带 c 扩展的库,还有 nodec 的库。

打开 apple store 搜索并安装 xcode,注意需要一个 apple store 账号,如果已经在其它设备登录 apple 会向其它设置发送验证码来认证。

安装速度取决于网速和 gfw 的情况,如果发生安装缓慢可以去 官方归档 找到最新的 xcode 下载后把 xcode.app 移动到 /Applications/ 下,当然这个页面也需要账号。

还有最新的 xcode 没有自带 command line tools 了,需要手动从 官方归档 下载安装,当然上面的 brew 安装时会自动安装 command line tools

以下提示为 command line tools 已安装并初始化完成。

1
$ xcode-select --install
2
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

三、各种编程环境安装

3.1 Node.js

Node.js 作为较为新的编程语言,有较多的安装方案。

nvm 安装

推荐方案,可以轻松的切换版本。

1
$ brew install nvm
2
# set nvm env on ~/.zsh or ~/.bashrc
3
# 安装最新的 node 10 lts 稳定版
4
$ nvm install 10

brew 直接安装

不太推荐。

1
# 安装最新的 node
2
$ brew install node
3
# 安装 node 10 版
4
$ brew install [email protected]

官方 pkg 包安装

和用 brew 安装没有什么本质区别。
官方下载页 选择平台版本下载后直接安装即可。

3.2 Python

MacBook 自带 python2 但是版本可能没有到最新版,而且没有自带 pip

brew 直接安装

1
# 安装 python3
2
$ brew install python
3
# 安装 python2 来替换系统的。
4
$ brew install python2

pyenv 安装

不推荐使用,因为切换版本时下载的是 python 源码需要编译使用,太慢了。

1
# 安装 pyenv
2
$ brew install pyenv
3
# 使用 sohu 源加速
4
v=2.7.16|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v
5
v=3.7.4|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v
6
# 安装 python2
7
$ pyenv install 2.7.16
8
# 安装 python3
9
$ pyenv install 3.7.4

Anaconda 安装

可以使用 官方下载 或者直接用 brew cask install anaconda 安装。

1
# 通过 conda 创建一个带有独立 python 的环境
2
$ conda create -n python3 python=3.7.4

可以参考 anaconda的镜像替换 来加速下载。

下面给出 anaconda 的官方免费仓库设置。

1
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
2
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
3
$ conda config --set show_channel_urls yes

3.3 Golang

brew 安装

brew install golang

安装完成后可以通过 go env 查看 go 的各种配置情况,例如 GO_PATH 就默认为 ~/go

官方安装
通过以下地址下载后安装即可。

go mod proxy 配置

go 1.11 后自带了 go module 功能,可以支持代理设置。

export GOPROXY=https://goproxy.io

四、 终端配置

更换 shell 并更换终端模拟器

1
# 把 zsh 使用 brew 替换并更新到最新
2
$ brew install zsh
3
# 替换默认 shell 到 zsh
4
$ sudo chsh -s /bin/zsh
5
# 使用 iterm2 替换默认终端
6
$ brew cask install iterm2

Iterm2 配色更改

打开 Iterm2 菜单下的 Preferences 选项弹出配置面板,选择 ProfilesColor,勾选掉 Basic Colors 下的 Bold 选择。
并选择右下的 Color Presets… 下拉选择自己喜欢的配色,上面的 Bold 选项取消就是为了选择其它配色可以生效。

很多旧文章都有说到选择其它配色不生效可以选择取消掉 Draw bold text in bright colors 这个选项,但是新版的 Iterm2 把它移动到了 Bold

参考 Does the option “Draw bold text in bright colors” removed?

oh-my-zsh

根据官方说明安装 oh-my-zsh

1
# 可以选择使用 curl 或 wget 下载脚本。
2
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
3
$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

oh-my-zsh 插件

通过以下插件让日常的命令历史能够自动补全

1
# 类似 Fish Shell 的命令行高亮插件
2
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
3
# 类似 Fish Shell 的自动历史建议
4
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
5
# zsh 额外的命令行提示
6
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions
7
# touchbar 支持没 touchbar 的就别装了
8
git clone https://github.com/floor114/zsh-apple-touchbar $ZSH_CUSTOM/plugins/zsh-apple-touchbar
1
plugins=(
2
zsh-syntax-highlighting
3
zsh-autosuggestions
4
zsh-completions
5
zsh-apple-touchbar
6
)

五、参考资料