菜鸟级 Mac 配置(二)

这一篇该讲讲我自己搭建开发环境遇到的事了。

其实这第二篇我前两天就写了一大半,我明明记得随手 Command+S 了,不过,我貌似把保存好的文件给删掉了……真是自作孽不可活,只能重新写一遍 T_T。

虽然身为一个菜鸟,但 Xcode 的大名早就如雷贯耳,毕竟是苹果亲生的,无论看起来还是用起来都非常迷人。第一次打开 App Store 就在很显著的位置看到了它,果断点了安装。结果发现有 2G 多,耐心等着下完(其实我特别想吐槽我这儿 50KB/s 的网速!)。

为什么 Xcode 必装?因为有编译的地方就有它。所以这里还要装一个 Command line tools,基本方法是打开 Xcode,找到 Preferences—Downloads—Components,在里面找到它并安装。如果你找不到,那可以在命令行输入:

xcode-select --install

这时会弹出一个选项框,问你是去下载 Xcode 还是直接安装,选择安装。

我以前并木有听过 Homebrew(毕竟第一次用 Mac),但我看几篇 Mac 教程都提到它,于是去下载来尝试一下。果然群众的眼光是雪亮的,自从用了 brew 感觉上五楼都不喘气了……有了它,可以方便的管理工具包,常用的命令有:

brew install xxx
brew uninstall xxx
brew list
brew update xxx

都是一句话,非常给力。不得不佩服 Ruby 社区的大神们,简直造福人类。

去 Homebrew 的官网是 bew.sh (opens in a new tab),找到它的安装代码:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

copy 到命令行,回车,搞定!

还有个东西叫 Homebrew-Cask,谁用谁知道。

Mac 自带了很多 Shell,通过下面的命令:

cat /etc/shells

可以看到如下列表:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

系统默认的是 bash,但 zsh 才是其中最犀利的,被称为「终极 Shell」。而且一位国外特别有(wu)才(liao)的程序员为 zsh 量身定做了一套配置方案叫 oh-my-zsh,实在是对我等小白用心良苦,我不能辜负他的这片心意啊。

首先,通过

chsh -s /bin/zsh

把默认 Shell 换为 zsh。然后用下面的两句(任选其一)可以自动安装 oh-my-zsh:

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh

剩下的配置就参考我灰常喜爱的池老师的文章吧—— 终极 Shell (opens in a new tab)

据说,这货和 zsh 配合起来,特别酷炫!于是我去官网下载,然后飞速安装,迫不及待的打开,发现也没什么两样嘛。但在我把下面的快捷键都试了一遍后,发现这些小功能确实酷炫:

  1. 分窗口操作:shift+command+d(横向)command+d(竖向)
  2. 查找和粘贴:command+f,呼出查找功能,tab 键选中找到的文本,option+enter 粘贴
  3. 自动完成:command+ 根据上下文呼出自动完成窗口,上下键选择
  4. 粘贴历史:shift+command+h
  5. 回放功能:option+command+b
  6. 全屏:command+enter
  7. 光标去哪了? command+/
  8. Expose Tabs:option+command+e

下图是有多标签页和多窗口的 iTerm2:

Mac 自带 Apache ,可以使用以下命令控制它:

sudo apachectl start
sudo apachectl restart
sudo apachectl stop

所以,唯一修改的就是它的站点目录了。Mac 下 Apache 的默认站点目录是

DocumentRoot "/Library/WebServer/Documents"

我没有修改它,而是做了个软链接,我觉得这样更方便。

ln -s 「你想更换的目录」 /Library/WebServer/Documents

重启生效。

Mac 也自带了 PHP,你只需配置 php.ini 文件就好了。具体配置可以网上搜索。

但这里我想说一件我遇到的蛋疼问题:之前我的 Mac 默认语音是中文,什么环境都配置好之后,我觉得还是换成英文版比较带劲(no zuo no die),就设置更换并重启了电脑。突然发现 Web 项目首页报错,数据库错误。我排查了好长时间,最后发现原来是因为更换了英文版之后,电脑的默认时区更换了,导致 PHP 出错,进而导致数据库也有了问题。所以在 php.ini 里把 date.timezone = Asia/Shanghai 吧。。。

Mac 终于不自带 MySQL 了,但是我们有 brew。第一步

brew install mysql

安装成功后,第二步,用下面语句设置:

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

第三步,启动 MySQL:

mysql.server start

第四步,输入以下脚本。根据提示完成配置(虽然是全英文,但要认真看)。

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation

按这四步来安装,我觉得应该是万无一失的。否则总会碰到一些比较蛋疼的问题,比如 root 用户的密码都设置不了(不知道是不是我一个人碰到),出现的错误提示现在忘了,不过根据 StackOverflow 上这篇帖子 (opens in a new tab)的方法可以重新安装。刚才的那四步也是这位程序员写的,清晰易懂。

后来还是由于我更换英文版,我发现数据库导入都成了乱码……(耳边又响起了 no zuo no die),原因是因为英文版又把默认编码改了……可以使用下面这句更改 MySQL 的默认编码:

SET NAMES 'utf8';
 
上面这一条就相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

至此,基本上我的环境都搭好了,编辑器当然用 Sublime Text 3。后来我还安装了一下 Android Studio,还是那个问题,第一次 Gradle 太慢了,在天朝还是下载离线的吧……

我对 Mac 还在探索中,如果你有什么好的 Mac 技巧,可以告诉我哦~