Mac下开发环境

最近开始用mac来开发。记录下环境安装过程方便以后快速恢复熟悉的开发环境。

这里提前修改一下控制台前缀

1
2
3
4
5
[dev mc]$ sudo vim /etc/bashrc
#修改以下内容
PS1='\h:\W \u\$ '
#修改成
PS1='[dev \u]$ '

好用的工具

  • pages 同事推荐的软件暂时用来写周报。
  • brew 这是一个神器,和linux 上的yum 类似的工具。
  • sublime text 我之前在windows上都是使用notepad++。上App Store上没找到,该用这个了。

pages

  • 直接在app store安装就好了

brew

  • 安装过程使用终端安装。
1
2
#  这里并没有换行,复制的时候请注意。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 基本操作方式
1
2
3
4
# 更新
brew update
# 安装软件
brew install xxx(软件名)

sublime text

  • 去官网直接安装就好了。

最终安装第三方程序如下:

  • 首先进入用户的工作空间,路径/User/{user}/Downloads 这里的user 就是你的电脑用户名称。
1
2
3
4
5
6
7
8
9
[dev mc]$ ls -l
total 2031352
-rw-r--r--@ 1 mc staff 9987856 6 21 09:40 Typora.dmg
-rw-r--r--@ 1 mc staff 8958105 6 21 10:43 apache-maven-3.5.3-bin.zip
-rw-r--r--@ 1 mc staff 31940569 6 21 08:59 git-2.17.1-intel-universal-mavericks.dmg
-rw-r--r--@ 1 mc staff 69518288 6 12 14:23 googlechrome.dmg
-rw-r--r--@ 1 mc staff 659753157 6 20 16:55 ideaIU-2018.1.5.dmg
-rw-r--r--@ 1 mc staff 259882804 6 20 17:00 jdk-8u171-macosx-x64.dmg
-rw-r--r--@ 1 mc staff 42296521 6 21 13:44 sogou_mac_47e.zip
  • 简单介绍下安装的程序:sogou、Typora、maven、git、chrome、idea、jdk、Navicat Premium、gradle。

安装sogou输入法

  • 最开始在app store上安装了一个版本,但是不知道配置。从新在官方网站下载一个mac版本的。

安装jdk

  • 由于是从官方网站上下载的版本,和windows里面的安装过程类似,这里不多说。主要是安装完成之后java home在什么地方需要注意应该在后面的需要配置相关信息。
1
2
3
4
5
#检查安装效果
[dev mc]$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
  • 检查javahome位置。
1
2
3
4
5
[dev mc]$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

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

安装git

  • git安装也是可视化安装,和windows下流程类似。
1
2
dev mc]$ git --version
git version 2.17.1

安装chrome

  • 反正我没在app store找到,也许是我瞎了。

安装idea

  • 安装过程可视化,这就不多说。主要是激活需要注意下。我采用修改hosts文件的方式;据说这个方法需要经常激活。
  • 安装完成之后先不进入idea,先修改hosts文件。并从http://idea.lanyus.com获取激活码。
1
2
3
4
5
6
7
8
9
10
11
12
13
#修改host文件
[dev mc]$ sudo vim /etc/hosts
#
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
#这里是追加的内容。
0.0.0.0 account.jetbrains.com

这里需要提权操作sudo,保存的时候需要强制保存wq!

  • 修改完hosts文件,并从网站中获取了激活码就打开idea第一次需要激活。在Activation code 粘贴激活码就ok了。

安装typora

  • 我在windows上经常使用这款编辑器、用mac依然使用。不过在写这篇文档的时候发现明显的bug ;还能忍受。

安装maven

  • 解压文件,并复制到/Users/{user}/opt文件夹中,我电脑到用户叫mc
1
2
3
[dev mc]$ unzip apache-maven-3.5.3.zip
...
[dev mc]$ mv apache-maven-3.5.3 /Users/mc/opt
  • maven需要配置环境变量,首先检查~/.bash_profile是否存在。如果不存在就创建一个。
1
2
3
4
5
6
7
8
9
10
11
#我这里是没有该文件
[dev mc]$ touch ~/.bash_profile
#编辑内容
[dev mc]$ sudo vim ~/.bash_profile

# maven所在的目录
export M2_HOME=/Users/mc/opt/apache-maven-3.5.3
# maven bin所在的目录
export M2=$M2_HOME/bin
# 将maven bin加到PATH变量中
export PATH=$M2:$PATH
  • 这里其实和windows上配置一样只不过写入到地方不一样而已。java_home也可以在这里配置。
  • 强制刷新配置信息[dev mc]$ source ~/.bash_profile
1
2
3
4
5
6
7
8
#检查配置信息
dev mc]$ mvn -v
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: /Users/mc/opt/apache-maven-3.5.3
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"

安装Navicat Premium

安装这个是比较麻烦的,不过总算是安装成功了。单独梳理一下自己的激活成功过程。不过我并不是自己算出的注册码而是使用作者给的。毕竟方便很多。

参考文献:Navicat Premium for Mac的破解教程

大概的流程是这样的:

  • 修改Navicat Premium rpk文件内容,也就是公钥。这里参考文档中的一堆钥。rpk文件地址就在Navicat Premium应用安装位置中Contents/Resources/里面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 公钥,放在rpk文件中的。
-----BEGIN PUBLIC KEY-----
MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQB8vXG0ImYhLHvHhpi5FS3g
d2QhxSQiU6dQ04F1OHB0yRRQ3NXF5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJX
HtQVLXMRms+chomsQCwkDi2jbgUa4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEF
h0N89FV4yGLyDLr+TLqpRecg9pkPnOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZS
I69sPD9xZRt+EciXVQfybI/2SYeAdXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd
+03NU3wvEmLBvGOmNGudocWIF/y3VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/p
AgMBAAE=
-----END PUBLIC KEY-----

#私钥,后面激活的时候需要生成离线激活码。
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQB8vXG0ImYhLHvHhpi5FS3gd2QhxSQiU6dQ04F1OHB0yRRQ3NXF
5py2NNDw962i4WP1zpUOHh94/mg/KA8KHNJXHtQVLXMRms+chomsQCwkDi2jbgUa
4jRFN/6N3QejJ42jHasY3MJfALcnHCY3KDEFh0N89FV4yGLyDLr+TLqpRecg9pkP
nOp++UTSsxz/e0ONlPYrra/DiaBjsleAESZSI69sPD9xZRt+EciXVQfybI/2SYeA
dXMm1B7tHCcFlOxeUgqYV03VEqiC0jVMwRCd+03NU3wvEmLBvGOmNGudocWIF/y3
VOqyW1byXFLeZxl7s+Y/SthxOYXzu3mF+2/pAgMBAAECggEAK5qZbYt8wenn1uZg
6onRwJ5bfUaJjApL+YAFx/ETtm83z9ByVbx4WWT7CNC7fK1nINy20/mJrOTZkgIx
x6otiNC4+DIsACJqol+RLoo8I9pk77Ucybn65ZteOz7hVZIU+8j6LzW0KDt6yowX
e75r7G/NEpfibNc3Zz81+oDd2x+bHyGbzc9QcePIVuEzkof6jgpbWrQZU14itx9l
VxEgj/fbMccvBx8brR/l9ClmDZd9Y6TWsF1rfJpF3+DPeqFkKCiD7PGz3bs4O/Zd
ZrfV21ZNVusBW49G6bU63gQVKsOf1qGo3efbAW1HVxgTQ/lExVdcMvdenZm+ADKp
L4/wUQKBgQDOfBjn3OC2IerUFu18EgCS7pSjTSibXw+TeX3D5zwszLC091G2rGlT
5DihBUhMfesNdpoZynrs4YB6Sz9C3wSGAB8AM/tNvPhtSVtbMHmrdT2DEEKCvLkO
RNBnt+8aTu2hGRanw9aL1189gzwrmXK5ZuuURfgLrB9ihrvjo4VznQKBgQCapx13
dEA1MwapBiIa3k8hVBCoGPsEPWqM33RBdUqUsP33f9/PCx00j/akwmjgQNnBlAJo
Y7LOqPCyiwOkEf40T4IlHdzYntWQQvHhfBwqSgdkTE9tKj43Ddr7JVFRL6yMSbW3
9qAp5UX/+VzOLGAlfzJ8CBnkXwGrnKPCVbnZvQKBgQCd+iof80jlcCu3GteVrjxM
LkcAbb8cqG1FWpVTNe4/JFgqDHKzPVPUgG6nG2CGTWxxv4UFKHpGE/11E28SHYjb
cOpHAH5LqsGy84X2za649JkcVmtclUFMXm/Ietxvl2WNdKF1t4rFMQFIEckOXnd8
y/Z/Wcz+OTFF82l7L5ehrQKBgFXl9m7v6e3ijpN5LZ5A1jDL0Yicf2fmePUP9DGb
ZTZbbGR46SXFpY4ZXEQ9GyVbv9dOT1wN7DXvDeoNXpNVzxzdAIt/H7hN2I8NL+4v
EjHG9n4WCJO4v9+yWWvfWWA/m5Y8JqusV1+N0iiQJ6T4btrE4JSVp1P6FSJtmWOK
W/T9AoGAcMhPMCL+N+AvWcYt4Y4mhelvDG8e/Jj4U+lwS3g7YmuQuYx7h5tjrS33
w4o20g/3XudPMJHhA3z+d8b3GaVM3ZtcRM3+Rvk+zSOcGSwn3yDy4NYlv9bdUj/4
H+aU1Qu1ZYojFM1Gmbe4HeYDOzRsJ5BhNrrV12h27JWkiRJ4F/Q=
-----END RSA PRIVATE KEY-----

替换rpk文件内容后使用注册码NAVH-T4PX-WT8W-QBL5

  • 开始激活打开软件会提示激活操作。输入注册码并断网,提示手动激活也就是离线激活。复制请求代码。打开加密解密网站,将私钥填入加密秘钥,然后把请求码复制到待解密区域,计算出明文。
1
2
3
4
5
6
# 明文格式如下
{
"K" : "NAVHT4PXWT8WQBL5",
"P" : "Mac 10.13",
"DI" : "ODQ2Yjg2ZDBjMTEzMjhh"
}
  • 拿到明文,按照固定格式填充下面的待加密内容,就是激活码的明文。
1
2
# 在加密操作中,请勿换行。替换下面的k、di、t;这个t就是时间戳,n、o随意填。
{"K":"NAVHT4PXWT8WQBL5", "N":"52pojie", "O":"52pojie.cn", "DI":"ODQ2Yjg2ZDBjMTEzMjhh", "T":1516939200}
  • 拿到激活码的明文,用私钥加密的到激活码,填入激活就ok了。在教程中已经很详细了,所以就不多重复阐述。

安装gradle

安装有两种方式,第一种是下载解压包,然后配置环境变量。第二种是用brew进行安装。看gradle的官方也是推荐brew的安装方式。下面就简单演示下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[dev mc]$ brew install gradle
#检查是否安装完成
[dev mc]$ gradle --version
Welcome to Gradle 4.8.1!

Here are the highlights of this release:
- Dependency locking
- Maven Publish and Ivy Publish plugins improved and marked stable
- Incremental annotation processing enhancements
- APIs to configure tasks at creation time

For more details see https://docs.gradle.org/4.8.1/release-notes.html


------------------------------------------------------------
Gradle 4.8.1
------------------------------------------------------------

Build time: 2018-06-21 07:53:06 UTC
Revision: 0abdea078047b12df42e7750ccba34d69b516a22

Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_171 (Oracle Corporation 25.171-b11)
OS: Mac OS X 10.13.5 x86_64

这里需要注意的是brew安装的程序都存放在 /usr/local/,这里安装的地址就在/usr/local/Cellar/gradle

  • 在设置环境变量,和maven设置方式一样。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 编辑 bash_profile文件添加gradle配置信息
[dev mc]$ sudo vim ~/.bash_profile

# 添加一下内容
#gradle所在文件地址
export GRADLE_HOME=/usr/local/Cellar/gradle
#gradle bin所在的目录
export GRADLE=$GRADLE_HOME/bin
#将gradle bin加到PATH变量中
export PATH=$GRADLE:$PATH

#强制刷新配置文件
[dev mc]$ source ~/.bash_profile

#再次查检查环境配置
[dev mc]$ gradle --version

------------------------------------------------------------
Gradle 4.8.1
------------------------------------------------------------

Build time: 2018-06-21 07:53:06 UTC
Revision: 0abdea078047b12df42e7750ccba34d69b516a22

Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_171 (Oracle Corporation 25.171-b11)
OS: Mac OS X 10.13.5 x86_64

安装zsh

这个比默认自带的控制台强大很多,所以推荐使用。

  • 查看mac默认自带的zsh版本
1
zsh --version
  • mac自带的shell是bash,需要自己修改下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat /etc/shells   #查看系统自带的bash

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh # 这个就是我们要用的。

chsh -s /bin/zsh # 这是修改默认bash。
  • 安装“oh my zsh”
1
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" #注意脚本
  • 注意事项
1
如果之前有在 ~/.bash_profile 配备环境变量,请修改~/.zshrc,在文件内添加source ~/.bash_profile 。不然会出这个错误 zsh: command not found: xxx

安装macvim

在终端里面的vim不是特别习惯,所以我找了下mac上的vim可视化软件。

https://github.com/macvim-dev/macvim

安装asciinema

终端录制,个人觉的动画比较容易表示清晰。

  • 安装命令 brew install asciinema

  • 使用方法输入 asciinema rec 即可开始录制。完成后按 Ctrl+D 或者exit退出。

安装wrk

可以做HTTP的小工具。

  • 安装命令brew install wrk

安装Keycastr

显示按键的小工具(Mac),可以设置要显示的桌面、是否只显示带功能键的键位。开源免费

安装Go

这里偷懒直接在官方网站上下载可安装包

官方地址 国内镜像

  • 配置goproxy,暂时还不清楚为什么配置未生效。所以在国内下载依赖依然会出超时。

  • 当我们使用 import "golang.org/x/tools/go/buildutil" 导入包时,其实导入的是$GOPATH/src/golang.org/x/tools/go/buildutil目录的包。

  • “golang.org/x” 下的包在 “github.com/golang”有镜像库。

  • 所以可以从 github.com 上将对应包下载下来放到对应的目录即可

  • 先切换到 $GOPATH 的 src 目录,cd $GOPATH/src,然后按需要下载:

    1. git clone --depth 1 https://github.com/golang/tools.git golang.org/x/tools
    2. git clone --depth 1 https://github.com/golang/lint.git golang.org/x/lint
    3. git clone --depth 1 https://github.com/golang/net.git golang.org/x/net
    4. git clone --depth 1 https://github.com/golang/sys.git golang.org/x/sys
    5. git clone --depth 1 https://github.com/golang/crypto.git golang.org/x/crypto
    6. git clone --depth 1 https://github.com/golang/text.git golang.org/x/text
    7. git clone --depth 1 https://github.com/golang/image.git golang.org/x/image
    8. git clone --depth 1 https://github.com/golang/oauth2.git golang.org/x/oauth2
  • 以前他的依赖以此类推。

总结

  • 保不齐那天就又用上了。

END