Mac开发者2013年新机设置参考
by
at 2013-04-16 15:00:00
original http://www.yangzhiping.com/tech/mac-dev.html
面向Mac新手开发者,主要侧重Ruby、R与Web开发。更久远的参考:Mac Lion常用软件清单2011年版
1.基础硬件设置篇
1.1 重装Mac之前
重装之前,先使用时光机器(Time Machine),备份一下所有硬盘资料在移动硬盘上。然后注意,将其从时光机器中移除出来!这样就冻结了开发状态,使得未来不存在被时光机器误删除的可能性。未来再移回去即可。当一个项目结束时,使用此方法非常棒。未来不需要重新搭建环境、寻找第三方库等。
1.2 重装Mac
按住option键,选择从镜像或者网络恢复新机。恢复之前,用磁盘工具删掉之前的老机的内容。
安装时,记得将语言选为English,不要使用中文界面!太多术语,记忆、理解与查找使用中文不便。
1.3 重装之后的基础设置
更改安全设置:
更改触摸板默认设置:
设置鼠标右键:
设置finder偏好:Finder=》Preferences,如下图所示:
2.通用开发环境设置篇
2.1 编译环境Xcode
Xcode: 在App Store里面免费下载。Apple官方出品。编译下软件与开发mac、ios等软件需要。安装好Xcode之后,打开偏好设置,安装cMacommand line,如下图所示:
2.2 终端iTerm2
终端:iterm2:下载地址是:https://code.google.com/p/iterm2/downloads/list
更多技巧参考老文:iTerm2新手应知特色功能。比如,可以查询出所有之前的命令历史:
2.3 编辑器subl
sublimetext日益流行,下载装完之后。打开iTerm2,设置subl命令,使得能够在shell中,直接通过subl命令调用。设置软链接如下:
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
这一步骤容易出错,请在iterm2中,打印当前PATH
,看系统默认的查找路径次序是多少。命令是:
$PATH
如果系统默认查找的是/bin在前(要搞得多乱的系统。。。),请将软链接指向的/usr/bin/subl
更改为/bin/subl
。
进一步的设置与插件安装,参考:
另一个Mac、Ruby社区极其流行的编辑器是TextMate,开源版下载地址
关于它的使用,敬请参考我的老文章。或者:
2.4 安装homebrew
brew是mac下级别的,用于安装一切Mac需要但没提供的软件。比如mysql等。打开iTerm2,输入:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
如果担心找不到Ruby、CURL等所在地,可以使用以下替代命令:
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
安装wget等通用软件
brew install wget
brew install curl
brew install openssl
brew install imagemagick #未来Rails图片处理需要
brew install gfortran #未来R语言等编译需要
brew install node #未来安装Ruby web服务器pow需要
需要使得系统默认识别的路径,优先识别brew所在的。方法就是编辑:/etc/paths。调用subl打开:
subl /etc/paths
使得它的次序先后是:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
brew安装的与系统自带的同类软件有什么区别呢?它始终是从github下载最新的。
2.5 下载.dotfiles
dotfiles是很多程序员,将自己的配置环境放在网上。使得未来避免很多重复工作。一般建议找一个与自己类似的。笔者参考zan5hin的修改。
cd ~/. #进入根目录
git clone git://github.com/ouyangzhiping/.dotfiles.git
cd ~/.dotfiles
git submodule init
git submodule update
请注意,dotfiles下载之后,我们这个时候还没下载zsh、oh-myzsh等等,所以,此时先不执行配置文件中的内容。等下载完它们了,再来执行。
2.6 安装zsh与oh-my-zsh
brew install zsh
oh-my-zsh是一个流行的zsh配置文件包。
cd ~/. #进入根目录
#自动安装脚本
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
使用之前git clone
下来的.dotnetfiles
来管理zsh等很多配置文件。创建软链接,使得ZSH等配置文件默认由它来管理:
ln -s ~/.dotfiles/zsh ~/.zsh
ln -s ~/.dotfiles/zsh/zshrc ~/.zshrc
ln -s ~/.dotfiles/zsh/zshenv ~/.zshenv
ln -s ~/.dotfiles/zsh/zprofile ~/.zprofile
如果提示:ln: /Users/psytown/.zshrc: File exists
,请删除该文件,命令为:
rm -rf /Users/psytown/.zshrc #请注意,将psytown更改为你的Mac的用户名
设置zsh为默认shell
subl /etc/shells
在文末增加:
/usr/local/bin/zsh
将zsh设置为默认的Shell:
chsh -s /usr/local/bin/zsh
重新启动iterm2。
更详细的参考老文:
3.Ruby开发环境设置篇
3.1 安装RVM
Rvm是Ruby管理器。当系统需要同时安装多个Ruby的时候,RVM非常管用。官方默认的直接将rails一块安装了,我们并不需要,修改为:
curl -L https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable --autolibs=enabled
注意其中的--autolibs=enabled
参数,将自动将缺少的库,比如sqlite、openssl安装上。然后按照shell中的提示,重启RVM:
source /Users/psytown/.rvm/scripts/rvm #记得psytown改为你所用本地用户
3.2 安装Ruby
通过RVM安装Ruby:
rvm install 2.0
3.3 通过gem安装Rails
Ruby的插件管理器,叫做gem。通过gem安装Rails:
gem instal rails
创建一个Rails项目,
rails new blog
本地测试:
cd blog
Rails s
3.4 设置shell默认的gem集合
Rails项目下面,会有一个文件,用于管理插件,叫做Gemfile。Gemfile配套的管理工具叫做bunlde:
bundle check #检查gem是否缺少
bundle install #安装缺少的gem
bundle update #重新安装gem,更新项目文件下面的gemfile.lock文件
创建gemset,并使用gemset作为默认的开发环境:
rvm use 2.0
rvm gemset create blog #创建ruby2.0下面名为blog的gemset
rvm use 2.0@blog --deault #将该gemset作为默认的Ruby开发环境
4.数据库设置篇
安装postgresql数据库
brew install postgresql
postgres -D /usr/local/var/postgres
查看是否安装成功,版本是:
psql --version
初始化数据库:
initdb /usr/local/var/postgres -E utf8
查看brew下的postgresql,
brew list postgresql
发现,postgresql版本是9.2.4。
请注意,/usr/local/Cellar/postgresql/9.2.4/
的路径会跟随postgresql的版本变化而变化。未来记得修改为相应路径。
因此,输入下列命令,设为随机启动:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/postgresql/9.2.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
更详细的参考文档:
安装mysql数据库
安装mysql:
brew install mysql
然后,启动mysql
mysql.server start
请注意,按照brew的安装提示,将mysql设置为自动启动。
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
进入mysql数据库:
mysql -uroot
数据库管理软件
navicat premium:商业收费软件。老牌的数据库管理客户端。 支持mysql、postgresql、sqlite与oracle等。
5.github工作流程设置篇
使用.dotnetfiles统一管理git配置
使用之前git clone
下来的.dotnetfiles
来管理git等很多配置文件。创建软链接:
ln -s ~/.dotfiles/git/gitconfig ~/.gitconfig
ln -s ~/.dotfiles/git/gitignore_global ~/.gitignore_global
配置github的SSH秘钥
按照Github提示,创建SSH秘钥:
mkdir ~/.ssh #创建ssh命令
cd ~/.ssh
ssh-keygen -t rsa -C "your_email@example.com" #注意更改Email地址
pbcopy < ~/.ssh/id_rsa.pub
此时,pdcopy命令已经将id_rsa.pub内容复制到剪切板。登陆github:
https://github.com/settings/ssh
点击Add an SSH Key
,Title
部分填写一个所用电脑的名称,然后在Key
部分填写之前通过pdcopy命令复制的内容。
github最常用的命令
备份到github上:
git add .
git commit -a -m"今天的修改内容是。。。"
git push ##只有这一步骤才需要联网
设置自己的github所在的分支:
git branch --list
git branch psytown
git checkout psytown
#第一次推送的时候得查文档
安装git flow
安装git-flow
brew install git-flow
使用git flow 初始化项目。
git flow init
创建所有的分支。按照git-flow默认提示即可。
比如,将数据库切换为postgresql。命名一个名为postgresql的新分支。
git flow feature start postgresql
编辑之后,按照正常git流程处理。比如:
git add .
git commit -am "一些改动"
使用此命令完成此新特征的测试:
git flow feature finish postgresql
如下图所示:
更详细的参考文档:
6.R与Python开发环境配置篇
配置R开发环境
通过brew安装R语言之前,需要先下载xquartz
通过brew安装R:
brew install R
安装R语言桌面开发环境:
- 下载 RStudio ,并设置Rpubs账号。
- 通过 RStudio 下载R devtools
启动RStudio,在Console中输入以下命令。或者启动iTerm2,输入R
, 然后输入以下命令。批量安装心理测量视图:
install.packages("ctv")
library("ctv")
install.views("Psychometrics") ##或者更新update.views("Psychometrics")
更详细的参考文档:
如果你需要备份以上所有辛苦设置的Mac,或者在团队中共享配置,可以使用:Boxen
7.常用shell命令篇
which命令
当你不知道现在用的是哪个路径所使用的ruby、python时,常使用which命令:
which ruby
which python
which R
查询版本
确认是否安装成功时、安装的是什么版本的时候,使用该命令。如:
ruby --version
python --version
curl --version
shell命令常有一个规律,一般--后面带单词的全拼,如version,-后面带单词的首字字母,如:-V。所以,不少时候可以精简为:
ruby -v
python -v
但是,此规律对curl等例外,此时,往往是需要大写,如:
curl -V
帮助
查询帮助时,遵从同样的规律,如:--help或者-h。比如:
ruby --help
python --help
或者:
ruby -h
python -h
将列出ruby的主要命令。当然,也有只支持--help的,如:
git --help
路径相关
进入某个目录:
cd ~/
查询当前目录:
pwd
创建目录:
mkdir blog
删除目录:
rm -rf blog
打印系统所使用的PATH命令:
$PATH
编辑系统所在的path先后次序:
subl /etc/paths
更多常用命令参考
- UNIX TOOLBOX
- cheatsheets类似于考试时的小抄,将某个需要学习的东西精华整理在一页或几页纸上。http://cheat-sheets.org/,找到里面的Ruby cheatsheets或者你自己所用到语言的小抄,有多个版本,找一个最适合自己的版本 ,然后下载并打印出来。一张纸囊括核心内容。 还有很多在这里:http://refcardz.dzone.com/
- cheatsheets大全 :以彩色整理了所有主要编程领域的cheatsheets。
8.通用软件篇
编程辅助工具
- Textexpander:Mac下一个强大的自定义文本工具。
- DASH:语法库文件本地查询与生成工具。
云端的个人效率软件
- Evernote: app store可下。笔记无敌。它已收购 skitch:简单易用的截图及图片处理软件。
- dropbox:个人文件管理利器。
- Zotero:开源跨平台文献管理软件。
- Anki:跨平台的记忆、复习软件库。
- Github for Mac:同步github上的库。作用其实不大,命令提示符效率更高,不过新手可以试试看。另一个支持bitbucket的git图形化管理软件是:SourceTree
在~/
目录下面统一创建dropbox与dev目录,它们下面的目录结构依次为:
dropbox:
---anki:记忆库,存储不懂的,需要经常复习的软件开发术语与技巧
---gist:拿来存储Mou这样写作的随想、杂记、报告等。
---zotero:拿来存储网页快照、书签与PDF文献、电子书。
dev:
---learn:拿来测试、调试与学习的一些别人的开源项目
---github:自己的Github私人库与协作的公司库。github for mac会帮助自动管理。
关于知识管理软件的Zotero的使用敬请参考:
浏览器
Chrome:Mac上的主力浏览器。使用Google账号登陆,同步书签、密码等。一些常用的Chrome插件有:
- Firebug Lite for Google Chrome:Web调试
- RailsPanel:Rails开发调试
- lastpass:在线密码管理利器。
中文输入法
一个较好的备选是又快又贴心的开源输入法鼠鬚管输入法。配置可参考:
備選是搜狗拼音: 搜狗词库更全,但占用资源略高。同样,可以同步词库等。
阅读与写作
- Keynote:没什么多说的,Apple官方出品,iwork套件中最受人喜欢,富有艺术色彩的表达工具。
- Mou: Mac上最受喜欢的Markdown写作工具。更多参见:Markdown写作浅谈,如下图所示:
社交工具
- qq:app store可下。intro:已经有了Mac用户最需要的视频功能,官方团队仍在完善中。
- skype:skype如何录制播客,敬请参考如何使用GarageBand和Skype录制Podcast
虚拟机
virtualbox:开源虚拟机。Ruby社区一个极富想象力的项目Vagrant,参见:
vmware fusion:老牌虚拟机,收费商业软件。
系统工具
- the unarchiver:免费解压软件。App Store可下。
- totalfinder:将finder变成多标签。收费软件。
- Alfred:app store可下,系统增强工具,支持快速调用程序。尤其是work flow配套插件。更多内容敬请参考国人必备的30个Alfred Workflow
- Magican中文版:Mac下新兴系统维护软件。
9. 优质资源索引篇
9.1 Ruby
- Rubygems:Ruby的gem增长极快,已有5万多个。
- Ruby工具箱:gem挑选分类指南。
- Rails视频讲座:Ruby社区英雄坚持很久的视频讲座。
- Ruby source:Ruby社区的另一个优质资源社区。
- PeepCode:专家级别开发者通过视频传授编程。