0%

macOS 系统配置篇

前段时间刚入手了一款 Mac,当然也是期盼已久的了~ 工欲善其事,必先利其器,这也是 macOS 作为高效的生产工具必经之路。

Homebrew

这是 Homebrew 的官网,Homebrew 之于 macOS,就好比 apt-get 之于 Ubuntu 或 Debian。

安装 Homebrew

在终端中执行:

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

该命令就是让 Ruby 执行一段 Homebrew 的安装脚本,该脚本通过 curl 从网络获取。

安装 Homebrew 过程中,默认会安装所依赖的 Xcode Command Line,这个是 mac 下很多命令所依赖的基础命令。

安装 Homebrew cask

Homebrew cask 可以通过命令行的方式安装二进制(比如 .img)的应用,相当于一个很重要的 Homebrew 的扩展。

安装命令:

1
brew tap caskroom/cask

使用国内的 Homebrew 镜像

也许你在上述的过程中会发现,Homebrew 安装的比较慢,那就需要考虑切换到国内镜像了。比如:

比如这里选取清华的镜像,我们可以替换 Homebrew 现有的上游:

1
2
3
4
5
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

若要恢复原始上游:

1
2
3
4
5
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

此外还要替换 Homebrew Bottles 源(Homebrew 预编译二进制软件包位置):

  • 如果你是 Bash 用户

    1
    2
    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
    source ~/.bash_profile
  • 如果你是 Zsh 用户:

    1
    2
    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
    source ~/.zshrc

如果你在 Homebrew 安装的过程就卡主了,请参考:Mac HomeBrew国内镜像安装方法

Homebrew 体系常用命令

  • 安装:
    • 安装命令:brew install <formula>, 如 brew install wget
    • 安装二进制包:brew cask install <formula>,如 brew cask install wechat
  • 搜索:
    • 一般搜索:brew search <formula>, 如 brew search curl
    • 搜索二进制包:brew search --cask <formula>, 如 brew search --cask wechat
  • 安装列表:
    • 显示通过 brew install 安装的列表:brew list
    • 显示通过 brew cask install 安装的软件列表:brew cask list
  • 卸载:
    • 卸载命令:brew uninstall <formula>,如:brew uninstall wget
    • 卸载软件:brew cask uninstall <formula>, 如 brew cask uninstall wechat
  • 其他更多命令,请使用 brew --helpbrew cask --help

iTerm2

我们看 iTerm2 官网 的介绍:

iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.12 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.
简单来说,iTerm2 是一个第三方的终端应用,比 macOS 自带的终端应用(Terminal.app)好更好用,可扩展性更高。

安装 iTerm2

安装 iTerm2:

1
brew cask install iTerm2

配置 iTerm2

设置 iTerm2 为默认的终端应用:
打开 iTerm2 -> 顶部菜单栏 iTerm2 -> Make iTerm2 Default term

设置 iTerm2 配色方案:
可以在 iTerm2 Color Schemes 找到很多种 iTerm2 的配色方案。可以先把该项目 Clone 到本地,可以看到 /schemes 目录下全部都是成套的配色方案,然后通过 iTerm2 -> Preferences -> Profiles -> 选择指定的 Profile -> 右侧上方 Colors -> 下方的 Color Presets -> Import -> 选中 iTerm2-Color-Schemes/schemes/ 下的所有配色方案 这样就可以导入所有的配色方案了。选取自己喜欢的即可。

另外,我们还可以通过 iTerms-Color-Schemes/tools 下提供的工具方便地预览不同的配主题配色:

1
tools/preview.rb schemes/*

zsh + oh-my-zsh

zsh

如果说 iTerm2 这些终端都是外表的话,那么 shell 则是内在。Linux/Unix 系统提供了很多 Shell,其中包括 sh, zsh, bash 等等。
查看当前系统有多少种Shell:

1
cat /etc/shells

macOS 默认会包含 bash, sh, zsh, ksh 等多种 shell。

如果想要自行安装 zsh,则可以:

1
brew install zsh zsh-completions

将 zsh 设置为默认的 shell:

1
chsh -s /bin/zsh

zsh 其中一个配置文件在 ~/.zshrc,有可能我们之前已经在 ~/.bash_profile 中配置了不少东西,所以需要将这些配置迁移到 .zshrc 中,或者在 ~/.zshrc 中引用 ~/.bash_profile

1
source ~/.bash_profile

oh-my-zsh

关于 oh-my-zsh 请参考另一篇文章 zsh 神兵利器之 oh-my-zsh

Node.js

NVM

NVM 即 Node Version Manager,可以同时安装不同版本的 Node.js,对于不同的项目可以指定不同的 Node 版本,对于开发来说是比较方便的。’
安装 nvm:

1
brew install nvm

如果 NVM 工作目录不存在,则需要手动创建:

1
mkdir ~/.nvm

在 shell 的配置文件中(zsh 用户则是 ~/.zshrc, bash 用户则是 ~/.bash_profile)将 NVM 引入:

1
2
3
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion" ] && . "/usr/local/opt/nvm/etc/bash_completion" # This loads nvm bash_completion

nvm 常用命令:

  • 帮助命令查看:nvm --help
  • 显示远端可安装的版本:nvm ls-remote
  • 显示远端可安装的 LTS 版本: nvm ls-remote --lts
  • 安装指定版本:nvm install <version>,比如:nvm install 12.0.0
  • 安装最新 LTS 版本:nvm install --lts
  • 使用指定版本的 Node.js: nvm use <version>,比如:nvm use 12.0.0

NRM

Node.js 安装完毕后,可以安装 NRM。NRM 即 Node Registry Manager,可以方便的切换 NPM 服务器所使用的源:

1
npm install -g nrm

nrm 常用命令:

  • 查看 npm 所有源服务器:nrm list
  • 测试 npm 所有源服务器的响应时间:nrm test
  • 查看当前源:nrm current
  • 切换到指定的源:nrm use <registry>, 如: nrm use cnpm

npm-check

npm-check 是很有用的 npm 命令,可以用来检查过时的、不正确的和没有用到的一些依赖包,并能方便地执行更新操作:
安装 npm-check

1
npm install -g npm-check

npm-check 常用命令:

  • 检查当前目录 modules 更新情况:npm-check -u
  • 检查全局模块更新情况:npm-check -ug

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tianma@tianma: ~/Hexo/
$ npm-check -u [1:07:51]
? Choose which packages to update. (Press <space> to select)

Major Update Potentially breaking API changes. Use caution.
❯◯ hexo-generator-archive 0.1.5 ❯ 1.0.0 http://hexo.io/
◯ hexo-generator-category 0.1.3 ❯ 1.0.0 https://hexo.io/
◯ hexo-generator-index 0.2.1 ❯ 1.0.0 http://hexo.io/
◯ hexo-generator-tag 0.2.0 ❯ 1.0.0 http://hexo.io/
◯ hexo-renderer-ejs 0.3.1 ❯ 1.0.0 https://github.com/hexojs/hexo-renderer-ejs#readme
◯ hexo-renderer-stylus 0.3.3 ❯ 1.1.0 https://github.com/hexojs/hexo-renderer-stylus#readme
◯ hexo-renderer-marked 1.0.1 ❯ 2.0.0 https://github.com/hexojs/hexo-renderer-marked#readme
◯ hexo-server 0.3.3 ❯ 1.0.0 http://hexo.io/

Space to select. Enter to start upgrading. Control-C to cancel.

其中,空格键去选择,↑↓ 键切换行,Enter 键开始升级模块,Contrl+C 取消命令。

参考