前言,不知从何时开始向往能在Mac
下开发,如今终于实现,感谢老婆大人的支持。废话不多,开始记录从零开始搭建开发环境,主要是Java
、node
的配置
开启Mac三指拖拽的手势
非常好用的功能,macOS
系统中默认关闭了这个功能,参考百度经验的设置方法:点击跳转
科学上网
天朝的程序员此处伤害一万点,都是血泪史啊。
安装shadowsocks
,参考wiki地址方法:https://github.com/shadowsocks/shadowsocks/wiki,安装完成之后使用ss账户进行登陆,能打开Google即可,完成第一步。
安装chrome
和SwitchyOmega
插件,按照插件的配置方法,设置浏览器的动态代理。
安装 homebrew
有了这个包管理工具之后,以后安装软件会非常方便,谁用谁知道。参考官方地址方法进行安装:http://brew.sh/,耐心等待一会儿就安装好了。
使用brew
安装软件,测试安装是否成功
1 | $ brew install wget |
你已经感受到了使用 Homebrew 安装命令行程序的便利。那么接下来,我们将通过 Homebrew Cask 优雅、简单、快速的安装和管理 OS X 图形界面程序,比如 Google Chrome 和 Dropbox。https://caskroom.github.io/
1 | $ brew install caskroom/cask/brew-cask |
brew
是从下载源码解压然后./configure && make install
,同时会包含相关依存库。并自动配置好各种环境变量,而且易于卸载。这个对程员来说简直是福音,简单的指令,就能快速安装和升级本地的各种开发环境。
brew cask
是将已经编译好了的应用包(.dmg/.pkg),仅仅是下载解压,省掉了自己去下载、解压、拖拽(安装)等蛋疼步骤,同样,卸载相当容易与干净。这个对一般用户来说会比较方便,包含很多在 AppStore 里没有的常用软件。
通过NVM安装不同版本的node
众所周知,node版本更新是非常的频繁,如果是全局安装,之后需要临时切换或者升级,是非常不方便多。通过nvm
非常方便的来管理node
的不同版本,跟上节奏嗨起来。
通过brew
安装nvm
1 | $ brew install nvm |
修改~/.bash_profile
文件,追加以下内容
1 | # 使用 brew install nvm,需要做以下配置 |
使刚才的修改生效
1 | $ source ~/.bash_profile |
安装node
1 | $ nvm ls-remote #查看官网node的所有版本 |
安装Atom前端开发工具
1 | $ brew cask install atom |
安装插件
1 | activate-power-mode |
安装Java SDK
通过brew
安装JDK 8
1 | $ brew cask install java |
如果需要安装JDK 6/7
,可以通过homebrew-cask-versions
1 | $ brew tap caskroom/versions |
查看系统安装中安装的所有JDK
1 | $ /usr/libexec/java_home -V |
使用jEnv管理多个Java SDK版本
jEnv
帮助我们更简单的管理多个JDK
:http://www.jenv.be/
1 | $ brew install jenv |
bash
中做以下配置
1 | $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile |
Zsh
中做以下配置
1 | $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc |
jEnv
不能自己安装任何版本的JDK
,所以需要我们手动安装好之后再用jEnv add xxx
指向它们。
第一次添加的时候出现下面的错误,后来在 jenv github wiki 中找到解决方案,如果没有出现就忽略。
1 | $ jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home |
添加JDK
1 | $ jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/ |
查看所有JDK
1 | $ jenv versions |
设置全局JDK
1 | $ jenv global 1.8 |
设置文件夹的JDK
,设置的信息保存在.java-version
文件中
1 | $ jenv local 1.6 |
设置shell的JDK
,似乎只在当前shell窗口生效
1 | $ jenv shell 1.7 |
其它用法
1 | $ jenv which java |
安装Maven
1 | $ brew install maven |
maven
的java版本随jenv
切换改变而改变,参考 jenv issue
1 | $ vi ~/.mavenrc |
安装iTerm2
1 | $ brew cask install iterm2 |
安装go2shell
http://zipzapmac.com/go2shell
这个软件能够让你在Finder
中轻松地在当前路径打开shell
1 | $ brew cask install go2shell |
安装完成之后,在应用程序中打开go2shell
,然后点击Thank The Developers
,会打开一个donate
的网页,你可以选择捐钱或者复制DONATE_BY_FOLLOW
填入go2shell
的文本框中,回车即可。
1 | Not Ready to Donate? Just follow us on twitter and enter DONATE_BY_FOLLOW in Go2Shell code field! Codes for other donation options will be available after checkout. |
完成上面步骤之后,在Finder
的工具拦中会多一个go2shell
的图标,点击它就能打开shell
终端程序了。
安装KeepingYouAwake
https://github.com/newmarcel/KeepingYouAwake
保持Mac
不休眠的软件,方便PPT
等演示的时候不出现尴尬的画面。
1 | $ brew cask install keepingyouawake |
安装MacDown编辑器
http://macdown.uranusjr.com/
免费开源的MarkDown
编辑器
1 | $ brew cask install macdown |
安装IntelliJ Idea
https://www.jetbrains.com/idea/
下载配置文件:https://github.com/myoss/IntelliJIdea-Config-MacOS
1 | $ cd /Users/jerry/Library/Preferences/IntelliJIdea2016.3 |
安装git gui工具SourceTree
https://www.sourcetreeapp.com/ 目前是免费的工具,需要注册一下他们家的账户才能使用。
安装dos2unix命令转化文件的换行符
Windows和Linux中文件的换行符的不同,导致文件见的一些“不兼容”问题,通过unix2dos 和dos2unix来实现互相转换。为了解决git add
的时候的错误fatal: CRLF would be replaced by LF
,或者用来将文件中的CRLF
转换为LF
。http://linuxcommand.org/man_pages/dos2unix1.html
1 | $ brew install dos2unix |
-k
保持文件时间戳不变-n
新文件模式,待修改的源文件重定向到新的文件中-o
旧文件模式,将修改后的内容保存在源文件中,默认就是此模式
1 | $ dos2unix -k -n source.sql target.sql #将替换后的文件保存在target.sql中,不改变source.sql原始文件 |
unix2dos
UNIX(LF) -> DOS(CRLF)dos2unix
DOS(CRLF) -> UNIX(LF)mac2unix
MAC(R) -> UNIX(LF)
使用cat
命令查看不可见的字符:http://os.51cto.com/art/201310/413568.htm
1 | $ cat -T test.txt #用cat -T命令来显示TAB键的字符^I |