一个叫木头,一个叫马尾

我是如何搭建Mac开发环境的

公众号原文

作为一个 Java/Node.js 开发者,曾经用过 WindowsLinux(Ubuntu)Mac,最终还是觉得 Mac 好。它稳定、不卡、易扩展以及神器多多。这里记录一些我拿到一台新Mac后,会做哪些配置、安装哪些软件以及这些软件的简述。

1. oh-my-zsh


地址: https://github.com/robbyrussell/oh-my-zsh(点我)

描述: Mac默认的终端shell是bash,切换为zsh,安装上oh-my-zsh,可以得到一个具有丰富插件支持的shell.

注: 在最新的Mac上,据说默认终端已经是zsh了

oh-my-zsh 常用配置

  1. 设置主题
    编辑~/.zshrc, 定位到ZSH_THEME=,将其值设为ys
    oh-my-zsh支持的主题很多,可以到~/.oh-my-zsh/themes目录下查看。

  2. 设置插件
    编辑~/.zshrc,定位到plugins=,修改为plugins=(git mvn yarn osx golang)。更多的参见可以到~/.oh-my-zsh/plugins下查看。

  3. 编写自定义rc文件。比如你需要定义一些别名,在~/.oh-my-zsh/custom中新加一个后缀为zsh脚本即可。custom目录中的zsh脚本,会在终端打开时自动运行。

2. brew


地址: https://brew.sh(点我)

描述: Mac下的包管理器,现在也支持linux了。开发用的大部分工具都可以用它安装。brew install通常用于安装命令行工具,而brew cask install用来安装有图形界面的软件。对于我来说,Mac下有2大神器不可不有。一个是brew,另一个就是Alfred了。

brew 常用命令

# 安装软件brew install xxxbrew cask install yyyy# 卸载软件brew remove xxx# 搜索软件# 如果搜索结果显示 ==> Casks,使用brew cask install安装brew search alfred# 列举安装的软件brew listbrew cask list# 查看软件描述brew info mavenbrew cask info alfred

使用brew安装常用的软件包

# 安装alfred
brew cask install alfred
# 安装其它工具
brew install git macvim ssh-copy-id 
brew install watchman ripgrep
brew install maven exa direnv
brew install mysql redis nginx
brew install wget wrk tree jq 
brew install nvm node gotty autossh
brew cask install java go google-chrome 
brew cask install sourcetree dash chrome-cli
brew cask install iterm2 intellij-idea webstorm
brew cask install sizeup manico mysqlworkbench
brew cask install 1password wechat wechatwebdevtools

上述其它工具中,需要特别说明的有:
  1. iterm2: 可能是mac下的最好用的终端了
  2. exa: 用来代替ls
  3. direnv: 用来管理环境变量,我在另一个文章中有介绍
  4. wrk: http压测工具
  5. ripgrep: 更强大的grep
  6. jq: 命令行json处理
  7. sizeup: 应用多窗口管理
  8. manico: 应用快捷打开
  9. chrome-cli: 命令行控制chrome
  10. mysqlworkbench: MySQL官方的图形界面管理软件
  11. gotty: 用来共享终端
  12. 1password: 密码管理

小提示:

  1. 如果brew在安装软件时,提示某个软件包(通常是zip压缩包)下载不下来,可以通过浏览器下载该安装包,再放在指定目录下。假设brew要安装的压缩包文件位于https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.tar.gz , 将这个文件下载并拷贝到~/Library/Caches/Homebrew/下,再运行brew install elasticsearch即可。

  2. 如安装的软件需要借助梯子,则设置代理运行: http_proxy=xxx https_proxy=xxx brew install whatever


3. nvm


地址: https://github.com/creationix/nvm(点我)

描述: node.js 版本管理器,支持各个版本的node.js安装、切换等

nvm 常用命令

# 查看本机安装了哪些版本的node
nvm ls

# 查看远程仓库有哪些node版本可用
nvm ls-remote

# 还能加关键词过滤
nvm ls-remote 11*

# 安装给定版本的
nodenvm install v11.12.0

# 删除给定版本的
nodenvm uninstall v11.12.0

# 将给定版本的node设置为默认的node(永久的)
nvm alias default v11.12.0

# 设置当前session使用的node版本(临时的)
nvm use v8.10.0

# 如需要安装nightly版本
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly nvm install 7

其它

有些同事喜欢用docker来管理部分软件依赖(像redis/mysql/nginx等),也许后面可以另起一篇文章。