1. 程式人生 > >打造 Mac 下的完美開發環境

打造 Mac 下的完美開發環境

文章目錄

提醒:本文最後更新於 1920 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

特別提醒:本文所描述的內容略微有點蛋疼,僅適合像我這樣喜歡折騰,並且有軟體潔癖的 Mac 使用者;否則,請用包容的心態看待它。。。

背景

我使用的是 Mac 電腦,平時搗鼓一些東西時需要用到各種開發環境。雖說 Mac OS 對開發者非常友好,但是作為一個喜歡折騰,並且有軟體潔癖的人來說,問題也不少:

拿 Web Server 來說,Mac 自帶了 Apache,但我更喜歡用 Nginx,我的線上服務都是用的 Nginx。於是我面臨兩個選擇:要麼開發環境和線上環境使用不同的 Server;要麼在 Mac 上再裝一個 Nginx。這兩者我都不能接受:前者意味著我要為不同的 Server 寫不同的配置,違背了最基本的「Do Not Repeat Yourself」原則;後者違背了我「同功能軟體絕不裝兩個」的潔癖原則。

再者,Mac 下大部分軟體,要麼可以從 App Store 獲得,要麼掛載 dmg 安裝包後把 App 拖進 Application 資料夾即可;解除安裝則直接拖進廢紙簍(當然 AppCleaner 必不可少),十分優雅自然。可是,大部分跟開發有關的安裝包都是 pkg 格式,需要一步步安裝確認,裝完沒有圖示,完全不知道裝哪兒去了不說,想解除安裝都難,相當不環保。更有甚者,很多開發相關軟體只提供原始碼包,需要自己編譯。

說到在 Mac 下編譯軟體,不出意外都會遇到「缺少 gcc」這樣的錯誤。這個問題最簡單的解決方案是裝那個好幾百 M 的 command line tools。這還算好,以前你得裝好幾 G 的 Xcode。

Mac 自帶了很多開發環境,如 Python、Ruby 什麼的,開箱即用。但是,想升級它們又不是一件簡單的事情。實際上去 Python 官網下載最新的 Python for Mac 裝完後會發現,系統自帶的 Python 並沒更新,新版 Python 裝在另外一個位置,系統同時擁有了兩個版本的 Python 有木有!

最後再說一個問題:費盡心思弄好的環境,很可能被系統升級弄壞!例如升到 Mac OS 10.9 Mavericks 之後,系統自帶的 Python 被升到 2.7.5,之前裝的庫統統不見了!JDK 木有了!Node 環境也得重灌!

準備

給我提供線上服務的 VPS 們(一臺 Linode

 和一臺 DigitalOcean,哈哈)都是裝的 Ubuntu 13.04。理想的開發環境當然是跟線上保持一致,但 Mac OS 太好用了,我總不至於裝個 Ubuntu 日常使用吧。

文章過半,主角終於要露面了,它就是「Parallels Desktop 9」,也就是俗稱的虛擬機器軟體。為什麼是 9 呢?前面說過我的 Mac 升級到 10.9 了,最新的系統當然需要最新的軟體來配。。。說到 PD 9 想到個坑爹的事情,某天我收到一封來自 PD 官方的郵件,大意是「你現在可以以 XXX 的優惠價購買新增了 XX 項超牛功能的 PD9,機會難得別錯過」,然後我一衝動就花 XXX 升級了。直到某天看到這個:

parallels desktop (真相是:雖然都是 XXX 元,選升級會附贈長達半年之久的我完全用不上的 iPad PD 服務)

好了,言歸正傳,想必大家已經猜到了我是準備在虛擬機器裡安裝與線上一致的 Ubuntu 13.04,來作為我的開發環境宿主系統。沒錯,我確實是這麼做的。

開工

Ubuntu 選擇 Server 版就可以了,一來跟線上保持完全一致,二來也完全用不上它的圖形介面。記憶體分配 1G 足夠了。整個系統裝完,硬碟才用了不到 3G。在我產於 Early 2013 的高配 rMBP 13 上,這個虛擬系統休眠和恢復速度相當快。實際上,現在主流電腦的效能,都卡在硬碟上,換成 SSD 就飛快了。

PD 預設使用的虛擬機器聯網方式,保證了虛擬機器 IP 固定不變。在虛擬機器下通過 ifconfig 命令獲得 IP 後,編輯 Mac 的 Host 檔案,用一個好記的單詞指向它,例如我用的是「Q」。

為了更方便地在 Mac 中控制虛擬機器,我們給它裝個 SSH Server,在虛擬機器中「apt-get install openssh-server」就可以了。這樣,在 Mac 下,直接「ssh [email protected] 」就能連上虛擬機器了。順手再建立到虛擬機器的信任關係,以後輸入密碼這一步就可以省了。

接下來,在這個純正的 Ubuntu 下安裝需要的所有軟體,有 apt-get 感覺真好。由於虛擬機器系統走的是本地網路,下載速度沒國外 VPS 那麼快,換成國內源會好不少。

我的 MySql 也裝在虛擬機器裡,可以通過同樣裝在虛擬機器裡的 phpMyAdmin 來管理它;也可以直接讓 MySql 允許遠端連線,用 Sequel Pro 這個免費好用的 App 來管理;還可以通過 Sequel Pro 的 SSH 隧道連線來管理它。

我的程式碼存放在 Mac 中,在 PD 配置共享,讓虛擬機器可以讀寫。這樣一來我可以繼續在 Mac 下編寫和管理程式碼,另一方面,虛擬機器中的開發環境又能訪問到最新程式碼。

Mac 系統中,有一些用來存放檔案屬性的隱藏檔案,例如 .DS_Store。如果不想在虛擬機器中看到它們,可以修改 .bashrc 檔案中 ll 別名如下,用 -I 引數排除不想看到的內容:

alias ll='ls -alF -I .DS_Store'

備份

經過上面這一番折騰之後的成果,當然要好好儲存。我的 Mac 系統有 Time Machine 定期做備份,所以我的程式碼們是安全的。而虛擬機器裡只有執行環境,沒有資料(開發環境的 MySql 資料不重要,忽略),沒必要定期備份。我在配置好所有環境後,給虛擬機器做了一個快照,方便弄壞時恢復,再把整個虛擬機器檔案在行動硬碟上也拷貝了一份,這樣就萬無一失了。

後記

這麼弄好之後用了幾周,我對這個方案非常滿意。首先,我的開發環境無論怎樣折騰都沒關係,大不了從快照恢復再來;Mac 系統也乾乾淨淨,簡潔優雅。附帶的好處是,不想寫碼時,把虛擬機器休眠,那些用不到的開發環境瞬間消失不見。真是招之則來,揮之則去!

注:這篇文章寫於 500 多天前,實際上現在利用虛擬機器部署開發環境的做法已經很普遍了,例如 vagrantdocker。我本人也改為使用 vagrant 了。詳情請看這裡:開始使用 Vagrant

--EOF--

提醒:本文最後更新於 1920 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

相關推薦

macjava 開發環境搭建

mave machine 下載地址 pass bashrc htm display machines scrip mac配置java開發環境: jdk1.7 +sdk1.7+maven +tomcat 1、先安裝jdk ,才能安裝sdk 。 2 mac中jdk1.7的

MacJAVA開發環境搭建

環境變量 runtime 內容 ont 保存 java開發環境 port rac run 最近開始學習JAVA, 首先配置下環境! 1、Mac自帶的jdk版本老了,需要到oracle官網(http://www.oracle.com/technetwork/java/jav

MacJava開發環境設定:JDK1.8+Maven3.5.4+IDEA設定

這篇文章整理一下Mac下Java開發常用連結和設定。 java開發 JDK下載 下載內容 下載地址 JDK https://www.oracle.com/technetwork/j

MACgo開發環境搭建

MAC下go開發環境搭建 最近被同事經常在身邊提起go,大概瞭解了下,go語言實際上更多的是一種工程語言,在服務端開發,併發等問題上提供了一套原生的解決方式,同時在程式設計方式上又採用了簡單主義,程式碼簡潔,效能強大,雖然坑比較多,但現在也越來越多的人採用go作為自己的專案語言,因此我也

【VUE】Macvue 開發環境搭建,以及目錄結構

1 安裝Node.js    參看 node.js環境安裝   http://www.cnblogs.com/richerdyoung/p/7265786.html   2 安裝淘寶映象 sudo npm ins

【寫給前端開發者看的 go 入門教程】mac go開發環境搭建

mac 安裝 go 1. 安裝 go brew install go 2. 配置Go環境變數GOPATH和GOBIN cd ~ ls -all //檢視是否存在.bash_profile檔案 touch .bash_profile // 如果沒有的話,就建立 vi .

MacJavaWeb開發環境搭建Tomcat+MyEclipse

一、Tomcat伺服器安裝 二、Myeclipse安裝 最後安利一下,MyEclipse和Eclipse的區別 當然myeclipse也只是集合封裝了一些外掛而已 , eclipse你

MacPHP開發環境的搭建

Mac真不愧是開發者的利器!在Mac下搭建PHP開發環境很簡單。 一、首先Mac OS自帶Apache,只需要啟動Apache就行。 開啟終端,輸入命令:sudo apachectl start : 介紹幾個Apache的常用命令 // 啟動Apach

MacAndroid開發環境搭建

1.JDK 1)下載安裝 mac系統一般預設會安裝jdk 1.6,路徑為/System/Library/Java/JavaVirtualMachines/1.6.0.jdk,但有時候可能需要下載更高版本的jdk 2)配置 配置方式為 vim ~/.bash_pr

macserver開發環境配置

mac下的server開發我總共看了兩種方式: 一、php的方式; mac下自帶了apache和php,如何開啟呢? 1. apache的使用方式: 啟動: sudo apachectl start 獲取版本號: sudo apachectl -v 關閉: sudoapac

MacAndroid開發環境eclipse搭建

1. Mac一般是內建java環境的,如果沒有需要安裝jdk 2. 下載Android SDK(推薦下載地址:http://developer.android.com/intl/zh-cn/sdk/index.html) 3. 下載Eclipse 4. 配置環境變數 — 關

打造 Mac 完美開發環境

文章目錄 背景 準備 開工 備份 後記 提醒:本文最後更新於 1920 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 特別提醒:本文所描述的內容略微有點蛋疼,僅適合像我這樣喜歡折騰,並且有軟體潔癖的 Mac 使用者;否則,請用包容的心態看待它。。。

Mac OS Java開發環境搭建

OneCoder最近入手一臺Mac Pro。其實這個話題本來沒什麼可寫的。但是考慮確實自己開始是不知道的,哪怕是一丁點的收穫,也應該記錄下來。 其實Java開發環境無非就是安裝JDK,安裝IDE,配置環境變數。JDK自然從官網下載Mac版的,I

程式設計工具(七)Mac的Java環境和Node.js/Ruby開發環境搭建(基於Intellj Idea)

參考: 一、Mac下的Java環境配置 1. 安裝Jdk 下載Mac版本的JDK,下好之後安裝,此時在bash中使用java -version命令已經看到Version號。 Mac支援多版本Java虛擬機器的選擇,選擇如下: 開啟Java控制檯之後可以在Desktop

golang開發環境mac編譯linux環境檔案

1 在mac下操作 2 進入golang的src的目錄    cd /Opensource/go/src 3 設定編譯目標環境    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash 4 進入go專案所在目錄    如/op

mac osx react 開發環境搭建

mac osx下 react 開發環境搭建 你必須先安裝nodejs 安裝開發輔助工具包 sudo cnpm install babel -g sudo cnpm install babe

Mac系統Lua開發環境搭建

一、Lua安裝包下載            二、安裝Lua-5.2.3        進入Lua-5.2.3.tar.zip的下載目錄(我的是在SSD盤下的Lua_Dev資料夾下面) ,執行以下步

NDK在windows開發環境搭建及開發過程

刷新 -1 ont static blog 簡單 包名 mfp targe 在Android應用的開發project中。無論是遊戲還是普通應用。都時常會用到.so即動態鏈接庫,關於.so是什麽玩意兒,有什麽優點。這個大家能夠在網上查一下,本人不做過多解釋。.

WindowsJava開發環境搭建

環境 輸入 電腦 blog html dev 進行 點擊 develop 1、在cmd中輸入Java,若如下圖所示的提示,則說明當前電腦沒有安裝Java運行環境或者是JDK,則需要手動下載和安裝Java 2、打開網站http://www.oracle.com/index.

Mac部署Ionic環境

sta gui .org str npm all taobao get 類型 1、下載安裝nodejs,可以到官網nodejs.org/en/download/上去下載最新版本安裝,比較無腦。如果官網打不開的話可以到中文網站去下載http://nodejs.cn/downl