Mac 开发环境搭建

本贴最后更新于 2167 天前,其中的信息可能已经天翻地覆

序言

最近拿到一款 2012 款的 Macbook Pro

因为以前开发都是用的 Windows,有些不习惯,很多都是网上找的攻略。
接下来将会从以下方面进行介绍,所有的软件安装,请按照顺序来操作,有些是有依赖关系的。

  • 系统设置
  • 常用软件
  • Node 开发配置
  • Java 开发配置

系统设置

开启 Mac 三指拖拽的手势

使用三指拖动文件、窗口等,非常好用的功能,macOS 系统中默认关闭了这个功能,参考百度经验的设置方法:点击跳转

常用软件

安装 Oh My ZSH

为什么装这个以及主题设置,网上搜索教程吧,一大把,官方地址:https://ohmyz.sh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装 homebrew 包管理

有了这个包管理工具之后,以后安装软件会非常方便,谁用谁知道。官方地址:http://brew.sh,使用下面的命令进行安装,耐心等待一会儿就安装好了。

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

使用 brew 安装软件,测试安装是否成功
brew install wget
Updating Homebrew...

wget
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.

安装 iTerm2 终端

比系统自带的 “终端命令” 更好用的软件

brew cask install iterm2

当你已经把 zshhomebrewiTerm2 这三剑客安装完毕,是时候关闭 系统自带的终端,打开刚才安装完成的 iTerm2 骚起来吧。

安装 Snipaste 截图工具

日常截图工具,替换系统自带的截图,功能强大,不依赖 qq微信 的截图,官网地址:https://zh.snipaste.com

brew cask install snipaste

安装 BetterTouchTool

强大的手势自定义工具,上手教程,参考网友的介绍文章

个人日常使用最多的功能,就是使用 三指选中文本内容进行搜索,我是这么配置的,设置中打开 Trackpads,安装下面的 2 个步骤,新增多个同样的手势

"Touchpad Gesture" 设置为 "3 Finger Click" 手势
"Predefined Action" 设置为 "Open URL/Open URL With Selection",填入你想要使用的搜索引擎地址

安装 HyperDock

扩展 Dock 拦功能,安装完成之后,需要注销 / 重启系统。将鼠标放在 Dock 拦的应用程序上面,就可以进行快速预览,并且能通过数字键 1~9 进行快速移动到对应的桌面中,非常的方便

安装图形软件

罗列一些常用的软件

brew cask install google-chrome # 安装 Google 浏览器
brew cask install shadowsocksx-ng # 科学上网客户端
brew cask install aria2gui # aria2 下载软件客户端
brew cask install mysqlworkbench # mysql workbench
brew cask install sourcetree # git 免费的客户端
brew cask install postman # http 请求测试客户端

安装快速浏览插件,都是使用 “空格键” 快速查看文件

brew cask install qlstephen # 快速查看纯文本文件
brew cask install qlcolorcode # 在预览源代码文件,高亮代码
brew cask install qlmarkdown # 预览 Markdown 文件
brew cask install quicklook-json # 预览 JSON 文件
brew cask install quicklook-csv # 预览 CSV 文件

Node 开发

使用 nvm 管理 node 版本

下载源代码到 zsh 插件目录。为什么要用这种方式?你有没有遇到过安装完 nvm 之后就遇到了终端启动慢的问题,要等 2~3 秒钟的时间,就是因为 $NVM_DIR/nvm.sh 导致的,网友遇到到同样的问题,[请移步查看]

git clone git@github.com:lukechilds/zsh-nvm.git ~/.oh-my-zsh/custom/plugins/zsh-nvm

vim ~/.zshrc 中启用 zsh-nvm 插件

plugins=(
zsh-nvm
)

vim ~/.zshrc 首行中启用 nvm 的延时加载,加快终端打开的速度

export NVM_LAZY_LOAD=true

nvm 使用方法

nvm ls-remote #查看官网 node 的所有版本
nvm install 8.10.0 #指定 node 的版本号进行安装
nvm ls #查看已经安装的 node 版本
nvm use xxx #使用指定版本的 node
node -v
npm -v

npm 常用命令

npm list -g --depth 0 #查看全局安装过的包命令
/Users/jerry/.nvm/versions/node/v8.10.0/lib
├── anywhere@1.5.0
├── hexo-cli@1.1.0
├── npm@5.6.0
├── npm-check-updates@2.14.2
└── nrm@1.0.2

npm 常用插件

列举一些日常必备、使用较多的插件

npm install -g nrm # 管理 npm registry
npm install -g anywhere # 在任意目录就能启动一个文件浏览服务
npm install -g npm-check-updates #使用 ncu -u 更新 package.json 文件并,并保存新的版本号

安装 VS Code

微软出品的图形开发工具,官方网站:https://code.visualstudio.com/

brew cask install visual-studio-code

Java 开发

安装 Java SDK

通过 brew 安装多个版本的 Java SDK,下面命令演示安装 Java 8

brew cask install java8

如果需要安装 JDK 6/7,可以通过 homebrew-cask-versions

brew tap caskroom/versions
brew cask install java6
brew cask install java7

搜索其它版本的 Java SDK

brew search java
==> Formulae
app-engine-java google-java-format javarepl jslint4java libreadline-java

==> Casks
charles-applejava eclipse-java eclipse-javascript java java-jdk-javadoc java6 java8

查看系统安装中安装的所有 JDK

/usr/libexec/java_home -V
Matching Java Virtual Machines (4):
1.8.0_121, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

/usr/libexec/java_home -v 1.6
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

使用 jEnv 管理多个 Java SDK 版本

jEnv 帮助我们更简单的管理多个 JDKhttp://www.jenv.be/

brew install jenv

bash 中做以下配置,并记得重启终端 / 重新打开新的选项卡

echo 'export PATH="HOME/.jenv/bin:PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile

Zsh 中做以下配置,并记得重启终端 / 重新打开新的选项卡
echo 'export PATH="HOME/.jenv/bin:PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc # 不配置好像没有关系

jEnv 不能自己安装任何版本的 JDK,所以需要我们手动安装好之后再用 jEnv add xxx 指向它们。
第一次添加的时候如果出现下面的错误,后来在 jenv github wiki 中找到解决方案,如果没有出现就忽略。

jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
ln: /Users/jerry/.jenv/versions/oracle64-1.6.0.65: No such file or directory

#解决方案,修改 ~/.bash_profile,增加下面的内容
vi ~/.bash_profile

To enable shims and autocompletion add to your profile:

if which jenv > /dev/null; then eval "$(jenv init -)"; fi

To use Homebrew's directories rather than ~/.jenv add to your profile:

export JENV_ROOT=/usr/local/opt/jenv

添加 JDK

jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents//Home/
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/

查看所有 JDK

jenv versions

  • system (set by /usr/local/opt/jenv/version)
    1.6
    1.6.0.65
    1.7
    1.7.0.80
    1.8
    1.8.0.121
    oracle64-1.6.0.65
    oracle64-1.7.0.80
    oracle64-1.8.0.121

设置全局 JDK

jenv global 1.8

设置文件夹的 JDK,设置的信息保存在 .java-version 文件中

jenv local 1.6
cat .java-version
1.6
rm -rf .java-version

设置 shell 的 JDK,似乎只在当前 shell 窗口生效

jenv shell 1.7

其它用法

jenv which java
/usr/local/opt/jenv/versions/1.7/bin/java

安装 Maven

官方网址:https://maven.apache.org

brew install maven

maven 的 java 版本随 jenv 切换改变而改变,参考 jenv issue

vi ~/.mavenrc
JAVA_HOME=(/usr/libexec/java_home -v (jenv version-name))

安装 IntelliJ Idea

官方网站:https://www.jetbrains.com/idea/。从 2018.2 版本已经支持 MacBook ProTouch Bar 了,感觉不错。

  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    166 引用 • 595 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • yunshang

    zsh 有挺多问题的,尤其是在每次更新的时候,还是安利 fish,虽然它和 bash 兼容也不是很好。