从一台全新的MAC到完美的全栈开发环境需要几步?这篇文章应该算是我这1年半使用MAC开发的过程中,所有关于环境配置的问题大全了。
1 使用U盘全新安装OSX系统
① AppStore安装最新版OSX系统,将8G或以上容量U盘格式化为Mac OS 扩展 (日志式)
格式,注意使用GUID分区表
,打开终端,执行:1
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Capitan --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction
注意,其中/Volumes/Capitan
的Capitan替换为U盘的卷名
② 重启Mac,按住Option键,选择U盘重装系统
2 关闭SIP(System Integrity Protection)
SIP功能是Apple在OSX上推出的系统完整性保护功能,对于普通MAC用户来说是一项安全保护功能,如果不了解他的作用请不要随意关闭。部分特殊的软件如xtraFinder可能会修改系统目录。在这些工具未推出适应OSX 10.11的版本时,有必要临时关闭SIP以确保开发工具的使用。
部分关闭SIP的方法:
重启Mac,按住CMD+R,进入recovery界面,在顶部工具栏选择「终端」,执行:csrutil enable --without debug
如果仍有程序无法正常运行,可以完全关闭SIP:csrutil disable
程序安装完成后最好重新开启SIP:csrutil enable
3 关闭Gatekeeper
不少用户升级到macOS Sierra(10.12)之后,发现「系统偏好设置 - 安全与隐私 - 通用」中「允许任何来源应用运行」的选项消失了。如图:
这是因为 macOS Sierra 加强了系统安全性,降低不良应用威胁电脑安全的几率,但是这也导致某些未经过开发者签名的应用无法在电脑上正常运行。
要想找回这个选项,可以在终端中执行sudo spctl --master-disable
4 XCode
为了避免XCodeGhost这样的安全隐患,XCode最好从AppStore或官方网站苹果开发者中心下载。
安装XCode之后,为了保证等开发工具的正常运行,最好装上Command Line Tools,两种方法:
① 终端执行xcode-select --install
,按提示步骤安装
② 在上文中的苹果开发者中心下载安装包安装
5 Iterm2
参考这篇文章:iTerm 2 && Oh My Zsh【DIY教程——亲身体验过程】
你就可以打造一个高逼格+超级好用的终端环境,五星推荐!!!
需要注意的是,按照原文设置后并没有达到完美效果。我还做了以下设置:
Colors → Basic Colors → Foregroundb1c9cc
Colors → Basic Colors → Minimum contrast30%
Text → Font → ChangeFontFont 13pt Roboto Mono for Powerline
6 JDK
编辑~/.zshrc
,加入以下环境变量1
2
3export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
7 HomeBrew
终端执行1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
8 Ruby
终端执行1
2
3
4
5
6
7
8
9ruby -v
// OS X 自带的Ruby版本较低
brew install ruby
// 安装完毕重启终端
gem -v
// 替换gem源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
9 Pod
终端执行1
2sudo gem install cocoapods
pod setup
10 Node
终端执行1
2
3
4
5
6
7
8
9
10
11brew update
brew doctor
export PATH="/usr/local/bin:$PATH"
brew install node
// 淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
// 比NPM更强大的包管理器
cnpm install -g yarn
// 常用的开发工具
cnpm install -g create-react-app
cnpm install -g grunt-cli
参考:http://www.jianshu.com/p/20ea93641bda
11 VSCode
开启终端Code命令:在VSCode中按Cmd + Shift + P,输入install command
,如图:
12 Golang
① 终端执行brew go
② 编辑~/.zshrc
,加入以下环境变量1
2
3export GOPATH=~/Applications/Go
export GOROOT=/usr/local/opt/go/libexec
export PATH=${PATH}:$GOROOT/bin:$GOPATH/bin
③ VSCode配置Go环境,首先安装Go扩展,然后终端执行:1
2
3
4
5
6
7
8
9go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
不出意外,你会得到一大片的红色o(╯□╰)o,因为golang.org被墙了。可以使用Golang中国的第三方包下载工具手动下载安装。
另外,如果你想在VSCode中调试Golang,请参考:
https://github.com/derekparker/delve/wiki/Building
13 proxychains-ng
做开发的,难免遇到一些不得不搭梯子的情况,上文中的VSCode配置Go环境就是一例。经过多年的实践,Shadowsocks客户端已经因其出色的稳定性和易用性成了我的唯一选择。
但问题来了,终端无法连接到Shadowsocks客户端的socks5代理。怎么办?proxychains-ng刚好解决这个问题。
终端执行1
2brew install proxychains-ng
vim /usr/local/etc/proxychains.conf
在 [ProxyList] 下面(也就是末尾)加入代理类型,代理地址和端口socks5 127.0.0.1 1080
这样以后执行终端命令,就可以在前面加上proxychains4
,实现终端搭梯子了\(^o^)/
需要注意的是,proxychains4 只能 hook 动态编译的程序达到修改系统调用 connect 的目的,而 go 是静态编译的,故 proxychains4 无法生效。这可以通过 polipo 转换 socks5 为 http proxy 来解决。
参考:http://www.golangtc.com/t/570477c9b09ecc66b900027b
14 DotNet Core
① 终端执行1
2
3
4
5brew update
brew install openssl
mkdir -p /usr/local/lib
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
② 使用安装包安装
官方网站:https://www.microsoft.com/net/core#macos
③镜像替换
编辑~/.nuget/NuGet/NuGet.Config
注释<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3"/>
添加<add key="nuget.cnblogs.com" value="https://nuget.cnblogs.com/v3/index.json" protocolVersion="3"/>
15 Android
首先安装AndroidStudio,完成后,如果安装了SS客户端,可以配合socks5代理使用,如图:
然后安装SDK等工具
① 下载SDK Tools、放入/Users/elvinchan/Library/Android/sdk
② 编辑~/.zshrc
,加入以下环境变量1
2export ANDROID_HOME=/Users/elvinchan/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/platform-tools
其他工具参考:http://www.androiddevtools.cn/
16 MySQL
官方下载地址:https://dev.mysql.com/downloads/mysql/
编辑~/.zshrc
,加入以下环境变量1
export PATH=${PATH}:/usr/local/mysql/bin
17 Appium
1 | cnpm install -g appium |
18 SSH配置
终端执行1
2
3ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ssh-add
pbcopy < ~/.ssh/id_rsa.pub
19 显示隐藏文件
1 | defaults write com.apple.finder AppleShowAllFiles -bool true |