Mac 生命在于折腾!谈一谈我这个 MAC 盲的 10 小时成长历程。

zfjoy520 · 2013年06月21日 · 最后由 kgen 回复于 2013年06月23日 · 15919 次阅读

职业:Ruby 服务器开发

背景:公司有个闲置的 mac mini,想尝试一下

SO:

前天

前天下午下班的时候拿到的 mini,接上几大线,开机。听他们管事的说,要把系统内的数据清掉(因为之前有人用过这个 mini)。

so,google 一下,大致看了下,是硬盘抹掉,然后重装。 so,果断开机,“磁盘工具” -> “Macintosh HD” -> "抹掉" -> “重启”。

然后,众所周知的,然后,重启之后,没系统了,果断灰屏,闪问号。

之所以抹掉,只因进“磁盘工具”后,花了 0.5 秒时间,瞟了一眼,看他貌似除了这个“Macintosh HD”之外,还有个啥系统区之类的,便误以为会像某些高级系统一样,有个隐藏分区,内置原始系统,可一键重装。

然后,没系统了。身边 mac 系统的兄弟都下班了,我只有 win7 机。然后 google,说 win7 下,也可制作 U 盘安装盘,于是,拿出天天带身上的 8G mini U 盘。

花了半小时时间,网上搞了个 10.8.4 dmg 花了 20 分钟写好了第一个启动盘,插上,开机 option,找不到 U 盘

再 google,有人说 U 盘格式不对,不能是 ntfs,果断格成 fat32,redo 以上 20 分钟的事。

sleep(20.minutes)

插上,无果

so,关机,回家。

第二天,也就是昨天

托有 mac 机的同事再 redo 前一天的 20 分钟的事,不过用的不是我自己下载的那个 dmg,最后 1% 报错。google 一下,说是能用。

so,插上,开机 option,U 盘出来了,可,onclick => 带左斜线的灰圈,禁止符果断跳了出来。无果,找同事再找了个 8G U 盘,无果。

中午,叫旁边的 mac 哥们,用头天下载下来的的 4.* G 的 dmg 重新搞了个。插上,果断 OK 了。

一路顺利,连 next 都不带一个。

然后是sleep(25.minutes)。系统装好了,重启。

0 基础学 MAC 正式开始。

先是装了个 QQ,没 QQ 可不行。

再是装了个迅雷,MAC 下想充分利用公司 2.5M/S 的下载速度,没迅雷可不行

然后是,装 chrome,没 chrome 都不好意思跟别个打招呼。

然后是,xcode,versions(用了svn),git,sublime text 2,netbeans,iTerm 2,office for mac 2011,ForkLift(ftp 有时会用到,比如:新版本不敢部署,因为变动太大,但需要修改测试服上的旧有版本的某些东西时),Sequel Pro 也装一个,虽然已经好几年没用过 GUI 的 Mysql 管理工具了,早就习惯了代码方式,然后是 BetterZip,SourceTree

然后再是 ruby, mysql, redis

虽然 mac 有预装 ruby,但不买帐。看好多大牛都用 rvm 装,但个人对多版本 ruby 没兴趣,工作上也几乎用不着。 线上项目的 ruby 版本,除非有重大漏洞,一般不会升级。所以找到预装的版本,位置:/System/Library/Frameworks/Ruby.framework/Versions

果断把那个软链“Current”干掉之。因为/usr/bin 目录下,链接了 ruby,irb,ri,rdoc,rake,testrt 等一系列的执行文件到这个 Current

自己下了个 1.9.3 p****源码,编译之。

发现 error,没 c 编译器,于是 google,xcode command line 果断安装之

再编译,过!

果断 sudo vim /etc/profile

export PATH="$PATH:/usr/local/ruby/bin:/usr/local/mysql/bin"

当然,后面那个 mysql 的是后面装了 mysql 才加上的。

然后是gem install bundler --no-ri --no-rdoc 然后是bundle install

发现提示 libyaml 没装。然后把装好的 ruby 删了。解压出来的文件夹也删了

brew install libyaml,发现没有 brew,然后 google,然后装了个 homebrew

重编 ruby,重来

然后是 bundle install,卡 mysql2,果断 sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

继续往下走。全过

然后是改 mysql 默认编码,因为 mysql 几乎不用,平时都在用 redis,mysql 只用做日志流、统计时用。

cp 了一份 my.cnf 到/etc 下。简单写了几行

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
default-storage-engine=MyISAM

因为是自己的开发机、也很少用到 mysql,就懒得去重新设置日志目录,数据目录。

mysql 完事了,然后是 redis,

redis 的安装几乎可以忽略

最后,为什么选择 iTerm 2 呢。仅因为他有一个特殊功能,“鼠标选中即复制”,解放生产力的好东西

然后是做点 bash 下的重命名:

sudo vim ~/.bash_profile

alias c='/usr/local/ruby/bin/rails c'
alias s='/usr/local/ruby/bin/rails s'

一个 c,一个 s 就能进到控制台,或是启个 server,能解放生产力,何不为之!

之前也尝试过手动编译安装 mysql,可坑爹,到然后发现 mac 上,没有 groupadd mysql 这个东东,简单查了一下。麻烦,算了,pass,选择了 mysql.dmg

之所以选择 netbeans 这个 IDE,只为看上他的一个功能,点方法名,可快速跳转到源码

然后猛然发现,sublime text 2,下的 super 和 netbeans 的 meta 键。其实就是所谓的 win7 键。用不习惯。。。果断将 control 和 command 互换。

然后试着 git clone,发现没权限

发现~下面默认不带.ssh 目录,果断 ssh-keygen -t rsa,一路回车,再把生成的文件全删了。

copy 一份之前 win7 机器下的 id_rsa id_rsa.pub 过来。

git clone 成功。

然后果断 OK 了。

装了个 QQ 输入法,因为带五笔,对拼音不好的川人,五笔是个不错的选择。

一只巨型 MAC 菜鸟完成了从 0 -> 0.1 的蜕变。

中间,好些软件,纯破解版,切误模仿。如有需要请购买正版。

唉 弯路走了好多... 用 mini 用户表示都心疼 mini 了

#1 楼 @zj0713001 呵呵。不折腾,何以熟悉,不尝试,何以出真知。

#2 楼 @zfjoy520 下次再折腾的话 1、重装系统是不需要抹掉硬盘的 开机进入恢复模式联网重装 2、干净的系统先装 xcode 和 tools 3、mysql 有 dmg 版本 记得用 5.1 4、ruby 用 rvm rbenv 能省下你不少时间

#3 楼 @zj0713001 开机进入恢复模式联网重装 这个异常蛋疼。试了 10 次 0 成功,所以在无光盘,无光驱的情况下才用的 U 盘重装

#4 楼 @zfjoy520 被墙了?反正速度是不快... 或者是你抹掉磁盘的缘故吧

#3 楼 @zj0713001 4、ruby用rvm rbenv能省下你不少时间 装 ruby 之前也思考了下,是否有 rvm 的必要。只是个人认为用不上,ruby 版本涉及众多项目的众多服务器,在 1.9.7 没爆出严重漏洞,或者是 2.0 非常流行之前,是不会有版本上的变动。

即便以后需要体验 2.0,也可以采用 MAC 自带的方式,做一个 current 软链,也可解决问题

#5 楼 @zj0713001 有可能。但我觉得即便是抹掉磁盘,他这个功能也不会受影响,不然这个功能也不应该出现在抹掉磁盘之后的 option 里面

#7 楼 @zfjoy520 不用 rvm 当你本地 3 个项目 一个 1.8.7 一个 1.9.3 一个 2.0.0 的时候 你想把他们同时都启动 就很蛋疼了... 用 rvm 还是各种方面都简单点...也许是我懒...

#8 楼 @zj0713001 呵呵。。估计这种情况,在我们这边是不会允许出现的。不过 rvm 确实方便,不然不会有那么多人在用了。只是我个人而言可能没这个需求。

非常巧合,让我想起了 一个同事充满期待的打开 mini,然后发现是 win7,然后 redo 了一下你的过程

Mac 下就是不为了折腾,楼主这可真是瞎折腾。其实就是装 xcode,装 cmd line tools,然后 homebrew。剩下的就交给 brew 了。

个人觉得楼主在用 Windows 和 Linux 的方式折腾 Mac,看着都心疼。

#12 楼 @kgen 呵呵。。MAC 基于 FreeBSD,也应属于 Unix 的一个变种,从某种程度上来讲,MAC LINUX UNIX WINDOWS 都有异曲同工之处,折腾的目的也就在于让这些工具、环境,能更便利地为自己所用,能在日常使用过程中更大的解放生产力。

虽然过程有些曲曲折折,但我相信,不经历折腾,不自我尝试,很多东西没法记忆深刻。

就相当于,光看一百遍网贴说怎么重装 window,重装 mac,拆解本本,若不自己实践一次,是很难达到烂熟于心的程度。写代码也是一样,空看别人十行代码,不如自己动手动脑认真写上一行。

#13 楼 @zfjoy520 iPhone 也是基于 BSD 的,可是作为一个高效率的手机,它并不需要用 BSD 的方式折腾。 我只是觉得很多事情,你用 Windows 和 Linux 下的解决方案做了而已,Mac 下有自己的最佳实践,所以说了上面那样调侃的话,别放心上。 Anyway, 欢迎加入 Mac 大家庭 :-D

需要 登录 后方可回复, 如果你还没有账号请 注册新账号