最近开始用mac来开发。记录下环境安装过程方便以后快速恢复熟悉的开发环境。
这里提前修改一下控制台前缀
[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
- 安装过程使用终端安装。
# 这里并没有换行,复制的时候请注意。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 基本操作方式
# 更新
brew update
# 安装软件
brew install xxx(软件名)
#常见命令整理如下,以下命令都可带上 cask 参数:
brew search name:联网搜索软件是否存在 brew 中
brew install name:安装软件
brew upgrade name:更新软件
brew uninstall name:卸载软件
brew reinstall name:重新安装软件
brew info name:查看软件安装地址
brew cleanup:清理缓存等
brew doctor:查看建议,例如升级等
mvnd
maven-mvnd,可以读作 Maven Daemon,译作 Maven 守护版,旨在为 Maven 提供更快的构建速度,灵感借鉴了 Gradle 和 Takari(Maven 生命周期优化器)。
# Windows
choco install mvndaemon
# Linux
sdk install mvnd
# macOS
brew install mvndaemon/homebrew-mvnd/mvnd
mycli
python编写的mysql客户单工具
brew install mycli
最终安装第三方程序如下:
- 首先进入用户的工作空间,路径
/User/{user}/Downloads这里的user 就是你的电脑用户名称。
[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在什么地方需要注意应该在后面的需要配置相关信息。
#检查安装效果
[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位置。
[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
- https://adoptopenjdk.net/archive.html?variant=openjdk8 或者直接安装openjdk
安装git
- git安装也是可视化安装,和windows下流程类似。
dev mc]$ git --version
git version 2.17.1
安装chrome
- 反正我没在app store找到,也许是我瞎了。
安装idea
- 安装过程可视化,这就不多说。主要是激活需要注意下。我采用修改hosts文件的方式;据说这个方法需要经常激活。
- 安装完成之后先不进入idea,先修改hosts文件。并从
http://idea.lanyus.com获取激活码。
#修改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了。
安装openresty
- 在mac上直接使用brew安装
brew install openresty/brew/openresty
安装完成之后,默认的安装位置在 /usr/local/Cellar/openresty/xxx (xxx是版本号)
设置环境变量
export PATH=/usr/local/Cellar/openresty/1.19.9.1_2/nginx/sbin:$PATH
- 检查
➜ ~ nginx -v
nginx version: openresty/1.19.9.1
➜ ~ nginx -V
nginx version: openresty/1.19.9.1
built by clang 13.0.0 (clang-1300.0.29.3)
built with OpenSSL 1.1.1l 24 Aug 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/Cellar/openresty/1.19.9.1_2/nginx --with-cc-opt='-O2 -I/usr/local/include -I/usr/local/opt/pcre/include -I/usr/local/opt/openresty-openssl111/include' --add-module=../ngx_devel_kit-0.3.1 --add-module=../echo-nginx-module-0.62 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.32 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.08 --add-module=../srcache-nginx-module-0.32 --add-module=../ngx_lua-0.10.20 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.7 --add-module=../ngx_stream_lua-0.0.10 --with-ld-opt='-Wl,-rpath,/usr/local/Cellar/openresty/1.19.9.1_2/luajit/lib -L/usr/local/lib -L/usr/local/opt/pcre/lib -L/usr/local/opt/openresty-openssl111/lib' --pid-path=/usr/local/var/run/openresty.pid --lock-path=/usr/local/var/run/openresty.lock --conf-path=/usr/local/etc/openresty/nginx.conf --http-log-path=/usr/local/var/log/nginx/access.log --error-log-path=/usr/local/var/log/nginx/error.log --with-pcre-jit --with-ipv6 --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_v2_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_auth_request_module --with-http_secure_link_module --with-http_random_index_module --with-http_geoip_module --with-http_gzip_static_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-threads --with-stream --with-http_ssl_module
安装typora
- 我在windows上经常使用这款编辑器、用mac依然使用。不过在写这篇文档的时候发现明显的bug ;还能忍受。
安装maven
- 解压文件,并复制到
/Users/{user}/opt文件夹中,我电脑到用户叫mc
[dev mc]$ unzip apache-maven-3.5.3.zip
...
[dev mc]$ mv apache-maven-3.5.3 /Users/mc/opt
- maven需要配置环境变量,首先检查
~/.bash_profile是否存在。如果不存在就创建一个。
#我这里是没有该文件
[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。
#检查配置信息
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的破解教程
- 下载安装包 百度网盘 密码 q47u
ps : 这个地址可能会失效 - 加密解密网站 http://tool.chacuo.net/cryptrsaprikey
大概的流程是这样的:
- 修改Navicat Premium
rpk文件内容,也就是公钥。这里参考文档中的一堆钥。rpk文件地址就在Navicat Premium应用安装位置中Contents/Resources/里面。
# 公钥,放在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
- 开始激活打开软件会提示激活操作。输入注册码并断网,提示手动激活也就是离线激活。复制请求代码。打开加密解密网站,将私钥填入
加密秘钥,然后把请求码复制到待解密区域,计算出明文。
# 明文格式如下
{
"K" : "NAVHT4PXWT8WQBL5",
"P" : "Mac 10.13",
"DI" : "ODQ2Yjg2ZDBjMTEzMjhh"
}
- 拿到明文,按照固定格式填充下面的待加密内容,就是激活码的明文。
# 在加密操作中,请勿换行。替换下面的k、di、t;这个t就是时间戳,n、o随意填。
{"K":"NAVHT4PXWT8WQBL5", "N":"52pojie", "O":"52pojie.cn", "DI":"ODQ2Yjg2ZDBjMTEzMjhh", "T":1516939200}
- 拿到激活码的明文,用
私钥加密的到激活码,填入激活就ok了。在教程中已经很详细了,所以就不多重复阐述。
安装gradle
安装有两种方式,第一种是下载解压包,然后配置环境变量。第二种是用brew进行安装。看gradle的官方也是推荐brew的安装方式。下面就简单演示下。
[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设置方式一样。
# 编辑 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版本
zsh --version
- mac自带的shell是bash,需要自己修改下。
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”
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" #注意脚本
- 注意事项
如果之前有在 ~/.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),可以设置要显示的桌面、是否只显示带功能键的键位。开源免费
- 安装命令
brew cask install keycastr。 - 需要在隐私设置中开启。
- 项目地址 https://github.com/keycastr/keycastr
安装Go
这里偷懒直接在官方网站上下载可安装包,如果偷懒可以使用
brew install go来安装,这里演示下源码安装
vim .bash_profile
export GOPATH=/usr/local/Cellar/go/1.7.6
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
检查配置
go env配置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,然后按需要下载:git clone --depth 1 https://github.com/golang/tools.git golang.org/x/toolsgit clone --depth 1 https://github.com/golang/lint.git golang.org/x/lintgit clone --depth 1 https://github.com/golang/net.git golang.org/x/netgit clone --depth 1 https://github.com/golang/sys.git golang.org/x/sysgit clone --depth 1 https://github.com/golang/crypto.git golang.org/x/cryptogit clone --depth 1 https://github.com/golang/text.git golang.org/x/textgit clone --depth 1 https://github.com/golang/image.git golang.org/x/imagegit clone --depth 1 https://github.com/golang/oauth2.git golang.org/x/oauth2
以前他的依赖以此类推。
安装chromedriver
使用爬虫的时候需要使用
# 检查是否安装 chromedriver
-> chromedriver -v
ChromeDriver 85.0.4183.87
# 注意chromedriver 和 chrome 的版本要协同,如果不一致。就都重新安装最新版即可,官网有版本对照表。
# 卸载 chromedriver
-> brew uninstall chromedriver
# 安装 chromedriver
-> brew cask install chromedriver
# 这里可能出现版本不正确,因为chrome经常更新。可以尝试手动安装
# 卸载 chromedriver
-> brew uninstall chromedriver
# 去官方网站下载 https://chromedriver.chromium.org/
# 下载后,将安装包加入到环境变量。以mac系统为例,将chromedriver移至/usr/bin目录下即可
-> sudo mv ~/Downloads/chromedriver /usr/bin
## macOS Catalina cp: /usr/bin/xcpretty: Operation not permitted 权限问题
## macOS Catalina 存在 Rootless机制,不再能够随心所欲的读写很多路径
## 关闭 Rootless,重启按住 Command+R,进入 恢复模式,打开Terminal
## csrutil disable
## 正常启动复制文件
## csrutil enable
## 或者加入本地环境变量
-> sudo mv ~/Downloads/chromedriver user/local/bin
## export PATH=$PATH:/usr/local/bin/chromedriver
Mac下个人工具清单。
brew
| Tool name | Install command | Description |
|---|---|---|
| Wget | brew install wget | 下载工具 |
| Curl | brew install curl | 下载工具 |
| Diff | brew install difftuils | Gnu 比较工具 |
| Find | brew install findtuils | Gnu 查找工具 |
| htop | brew install stop | 代替top |
| Axel | brew install axel | 多线程下载 |
| Tmux | brew install tmux | 终端复用 |
| cloc | brew install cloc | 代码统计 |
| Tldr | brew install tldr | 命令提示行 |
| Ncdu | brew install ncdu | 磁盘空间占用成分 |
| ctop | brew install stop | Docker 容器监控工具 |
| Pstree | brew install | 进程树查看 |
| Bash-completion | brew install | bash补全 |
| Graphviz | brew install | 拓扑图绘制工具 |
brew cask
| Tool name | Install command | Description |
|---|---|---|
| cask | brew tap cask room/cask | Cask |
| Macpass | brew cask install macpass | 免费密码管理 |
| docker | brew cask install docker | docker 必备 |
| Fonts | brew tap cask room/fonts | 字体管理 |
| licecap | brew cask install licecap | 录屏软件 |
| Kap | brew cask install kap | 视频录屏 |
| sequel pro | brew cask install sequel pro | 数据库管理 |
tencent-lemon(Mac)
- 腾讯柠檬清理,基本对标的就是 CleanMyMac
总结
- 保不齐那天就又用上了。
END