[Rails]協作初體驗
人生第一次的協作,就碰到電腦collapse,Xcode消失,rails無法跑。只好重新再灌一次Xcode。自從電腦更新到High Sierra,就三天兩頭的系統出問題,每天開電腦就像拆炸彈,看看今天會不會又中獎!但也多練習了超多次的解炸彈技巧,也是一種因禍得福吧!
Rails開發環境設置
因為Xcode消失,需要重灌,於是順便從頭再跑一遍“Rails開發環境設置”。
Xcode安裝
打開Mac的app store找到Xcode,然後直接下載。下載完後,到Launchpad打開Xcode,然後同意“使用者協議”,需再輸入電腦密碼,同意即可。
Command Line Tools
Command Line Tools 是安裝Ruby所需要的Library。
在terminal输入指令:
$ xcode-select --install
會出現安裝視窗,請點選“安裝”。
確認安裝成功,在terminal輸入:
$ xcode-select -p
顯示出: /Applications/Xcode.app/Contents/Developer
即是安装成功!
安裝Homebrew
Homebrew 是開發者社群專為MacOSX打造的第三方套件管理程式,比如說安裝Ruby需要一些編譯工具或函式庫,就可以從 Homebrew 取得。
到Homebrew官網下載,安裝完後,输入:
$ sudo xcodebuild -license
輸入完後,會出現很多條文,請一直按“空白鍵”到最下面,然後輸入 agree
同意。
使用Homebrew安裝git
$ brew install git
安装 PostgresSQL
PostgresSQL 是一套強大的資料庫。許多網站開發預設使用PostgresSQL作為底層資料庫。所以在初始環境也一並安裝。
$ brew install postgresql
安裝完後:
$ brew services start postgresql (確保下次開機時,一並啟動資料庫)。
安装 RVM
在 Mac 開發Ruby on Rails時,因為Ruby版本更新很快,常常會遇到一些版本與權限上的問題。所以在開發時,我們通常不會使用內建的Ruby,而改採用Ruby Version Manager(RVM)去管理Ruby的安裝與升級。
RVM官方網站
安裝指令:
$ \curl -L https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm(讓RVM生效)
$ brew install libxml2(安裝一個套件)
安装 Ruby
$ rvm install 2.3.1 <= 尾端數字可自選版本 EX: 1.9.3 , 2.1.2 ... etc$ rvm use 2.3.1 --default 使用 ruby 2.3.1 為預設版本(可改自己需要的版本)
安裝完後,重開terminal。
$ rvm list(列出目前已安裝的Ruby版本)
安裝Rails
$ gem install rails -v 5.0.0(後面的參數是指定版本,預設會抓最新版)
Github專案協作
這次的協作,是由我創建一個新的Rails專案後,Push在Github上。第一個commit由夥伴做,夥伴push完後,再由我這邊做下一個commit。
第一次把專案拉下來:
按Github又上的綠色按鈕,然後copy第二個紅色框框的指令
到iTerm裡輸入:
$ git clone git@github.com:yourname/repositoryname(將專案拉下來)
切換到專案裡:
$ cd repositoryname(repositoryname = 專案名稱)
產生密碼且貼上secrets.yml:
$ echo -e “development:\n secret_key_base: rails secret" | tee config/secrets.yml
Create config/database.yml ,然後打開database.yml貼上下面程式碼:
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
Set database:
$ bundle exec rails db:setup
將專案跑起來:
$ bundle exec rails s
localhost:3000查看
專案成功跑起來後,創建新的分支。
git checkout -b L2(L2新分支名,創建新的分支)git branch(查看全部分支)
然後在L2的分支下,做編碼。
編碼結束後,完成commit,再將L2分支merge上master做push。
切換回master分支:
git checkout master
merge:
git merge L2
完成後就會出現:
總結:
對於第一次的協作感到非常新奇,也非常感謝夥伴知道我對程式熟稔的程度不及他們,於是特地多製造機會,讓我練習,真的覺得自己很幸運,也希望自己更努力趕上夥伴們的程度!加油!
最後在merge遇到的問題是,在分支merge時,會跳入vim介面,要我輸入類似commit的指令,但我只想顯示上一個commit的messages,於是沒有輸入指令,最後卻在Github出現"merge branch L2"的字樣,有點疑惑。