環境:在win7 上Vmware虛擬機環境中安裝的ubuntu 14.04
開發相關:
ruby 2.2.0
rails 4.2.0
sublime text 3
本文說明:所有的命令均在$ 之后,若$前邊帶有信息,只是為了方便你理解和與自己對照。
安裝過程中由於這樣那樣的原因,產生許多坑,所謂坑是對初學者來說,大牛們飄過吧。
步驟1、從官網下載ubuntu 14.04 X64
http://124.205.69.136/files/2013000000502943/202.141.176.110/ubuntu-cdimage/ubuntukylin/releases/14.04/release/ubuntukylin-14.04-desktop-amd64.iso
安裝時,選擇版本時,建議選擇最后一種,也就是組建最多的一種,這樣就不用自己一個個下載了
步驟2、安裝虛擬機Vmware,使用鏡像安裝ubuntu 我采用的VM是10
在此給大家說一小技巧,在虛擬機上完成一次改動,可以做一個快照,若是下步出錯,隨時撤回。做快照就幾秒鍾,恢復到某一快照也就幾秒鍾,非常適合初學者熟悉環境搭建使用
步驟3、先說坑吧,也是大家下面安裝所要注意的問題。
坑1、關於終端,一定要使用啟動器打開
安裝完虛擬機,進入系統,我們便會遇到第一個坑,終端軟件,建議大家都使用啟動器打開終端,
千萬不要使用文件管理器,進入文件夾,再右鍵“在終端中打開”,這個時候,環境變量加載不上,尤其在非桌面文件夾進入時。終端加載不上環境變量,大多的軟件都沒法在終端中執行。
打開終端時,一定要通過啟動器,所謂啟動器,就是在bantu中放在桌面左側的側邊欄,很像windows中的快捷方式
坑2、關於假設,大多數網站都假設你安裝了一些基本包或者軟件,但是有不提,這讓初學者搭建環境尤其費力。
假設1、你已經安裝了某軟件,如curl
針對這種,解決方法:手動安裝軟件,命令:$ apt-get install 包名字,
假設2、你能鏈接上國外的rvm、gem源服務器,國內現狀,大家懂得。所以,必須用替代的國內源服務器。
你在下邊安裝過程中,
若是出現了服務器積極拒絕,80%的可能行是被牆了。或者被你公司、家所在網絡屏蔽掉了
若是出現了速度很慢,半天不動的現象,恭喜你,你得換源地址了。
rvm解決方法:安裝完rvm,確保rvm -v可以執行后,執行以下命令,替換服務器資源信息
$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db
gem 解決方法:
//列出當前源列表 $ gem source //注意,下面我們刪除默認源,添加淘寶源,相對來說,淘寶源無論速度還是穩定性,遠比默認的要高 $ gem source -r https://rubygems.org/ //添加淘寶源, $ gem source -a https://ruby.taobao.org
假設3:你ubuntu上的軟件包已經最新
解決方案:使用以下命令手動更新包
$ sudo apt-get update $ sudo apt-get upgrade
安裝必要的軟件及包
若是沒有制定該步驟,則需要在下面單獨安裝包
$ sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev libsqlite3-dev
步驟4、安裝ruby on rails 相關軟件
參考:https://ruby-china.org/wiki/install_ruby_guide
以下步驟主要參照上邊網址,這個網站做了許多假設,而且也沒提到這些假設,就產生了所謂的坑,我們主要填坑
ubuntu自帶ruby 版本比較低,我們要安裝最新版的2.2.0
1)更新隨機自帶的軟件包,這個是很必要的,否則下面可能產生N多錯誤
$ sudo apt-get update $ sudo apt-get upgrade
2)安裝curl,我們需要用它來裝rvm
$ sudo apt-get install curl
3)安裝rvm,我們使用rvm安裝ruby、rails等,rvm安裝參見:https://ruby-china.org/wiki/rvm-guide 步驟1
$ curl -L get.rvm.io | bash -s stable //若提示找不到公鑰,執行下邊語句 $ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 //然后,重新執行,安裝完rvm之后,需配置終端,以便下次打開終端能直接只用rvm。更改終端配置方法:參見https://rvm.io/integration/gnome-terminal $ curl -L get.rvm.io | bash -s stable //至此,rvm安裝完成,下邊我們手動為終端配置rvm環境,否則以后在終端中可能每次都要手動加載rvm環境 //更改終端配置方法:工具欄--編輯--配置文件首選項--標題和命令--命令--選中“以登錄shell方式運行命令” //然后,我們手動加載rvm環境,將服務器資源改為淘寶的 ///////$ source ~/.rvm/scripts/rvm 官方的加載rvm環境命令,我們就不執行了 //臨時加載rvm環境,參考:https://rvm.io/integration/gnome-terminal $ source ~/.bashrc $ source ~/.bash_profile //更改rvm源服務器資源信息,畢竟國外的經常被牆掉,還有就是國內的速度快。若不設置,下面可能出現各種問題,如出現服務器積極拒絕(被牆),或者下載速度慢 $ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db //請保存你的工作,然后重啟ubuntu系統 $ sudo reboot //重啟完后,打開終端,我們便可以使用rvm了, //列出rvm遠程服務器上都有那些可用的ruby版本 $ rvm list known //安裝rvm需要的包 $ rvm requirements
4)安裝ruby,我們選擇最新的,不帶版本號就是說裝最新的,
更多參考:https://ruby-china.org/wiki/install_ruby_guide 步驟2
$ rvm install ruby //安裝完,看一下安裝的版本 $ ruby -v //這個時候,應該顯示的是2.2.0, //通過下面操作,我們把這個作為ruby默認版本,若是你機子上有多個版本的話,參考:https://ruby-china.org/wiki/install_ruby_guide步驟3 $ rvm use 2.2.0 --default //嘗試安裝rails,幾乎可以肯定會失敗,我們姑且看看會有啥樣的錯誤吧
5)下邊我們要用到gem,使用前,先切換到淘寶服務器 gem更多使用
參見://查看當前gem源列表,默認源是https://rubygems.org/
$ gem source //注意,下面我們刪除默認源,添加淘寶源,相對來說,淘寶源無論速度還是穩定性,遠比默認的要高 $ gem source -r https://rubygems.org/ //添加淘寶源, $ gem source -a https://ruby.taobao.org
6)使用gem安裝rails
參考:https://ruby-china.org/wiki/install_ruby_guide 步驟4
$ gem install rails //若報錯相關信息nokogiri-1.6.5.gem,缺少這個包,或者這個包有問題安裝不上,執行下邊命令手動安裝nokogiri $ gem install nokogiri -v=1.6.5 //如果安裝nokogiri報錯,需要依賴包 libxslt libxml2,那我們就先裝這倆依賴包 $ sudo apt-get install libxslt libxml2 //裝完依賴包后,繼續安裝nokogiri-1.6.5.gem $ gem install nokogiri -v=1.6.5 //安裝完nokogiri,我們就可以繼續rails的安裝步驟了 $ gem install rails //安裝完后,查看rails版本 $ rails -versions //這時,應該是最新的4.2.0
步驟5、正式開始安裝ruby on rails
//參考:http://guides.ruby-china.org/getting_started.html
1、版本檢查,查看以下依賴工具版本,務必確保都安裝了
//查看ruby版本 ruby -v //查看rails版本 rails -v //查看sqlite3版本 $ sqlite3 --version
若沒有安裝,使用apt-get install sqlite3 安裝
2、建立項目工程
//特別提醒,不要在文件夾中右鍵使用“在終端中打開”,目前不確定這個是不是在加載環境變量方面有bug
1)我們先確保自己電腦存在以下目錄:/home/myusername/app/rails,若沒有,則創建
//查看當前所在目錄 zxh@zhangxh-ubuntu:~$ pwd //我的顯示如下 /home/zxh $ mkdir app $ cd app $ mkdir rails $ cd rails 結果如下: zxh@zhangxh-ubuntu:~/app/rails$
2)在上邊創建的目錄下,創建rails工程
//建立blog項目,注意,區別於官網,這里我們不進行bundle install,在完成網站開發后,再手動bundle install zxh@zhangxh-ubuntu:~/app/rails$ rails new blog --skip-bundle //進入blog文件夾,即rails工程根目錄 zxh@zhangxh-ubuntu:~/app/rails$ cd blog zxh@zhangxh-ubuntu:~/app/rails/blog$
3)bundle install 其實,還是調用gem,執行前,請檢查gem源為淘寶源
zxh@zhangxh-ubuntu:~/app/rails/blog$ bundle install //在rails工程根目錄啟動 rails server,啟動成功后,另外打開一個終端,cd到該目錄
4)安裝js編譯器
//選擇一:使用node.js $ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:chris-lea/node.js $ sudo apt-get update $ sudo apt-get install nodejs 若不安裝,本機有沒有js編譯器,直接執行rails server,則會報錯: zxh@zhangxh-ubuntu:~/app/rails/blog$ rails server //。。。。。。。。。 //Could not find a JavaScript runtime //選擇二:使用execjs $ gem install execjs
5)此時,我們才啟動server
zxh@zhangxh-ubuntu:~/app/rails/blog$ rails server => Booting WEBrick => Rails 4.2.0 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2015-01-11 14:21:47] INFO WEBrick 1.3.1 [2015-01-11 14:21:47] INFO ruby 2.2.0 (2014-12-25) [x86_64-linux] [2015-01-11 14:21:47] INFO WEBrick::HTTPServer#start: pid=12202 port=3000
6)啟動后,可以在http://localhost:3000查看網站
7)然后,大家就可以按照http://guides.ruby-china.org/getting_started.html一步步完善這個rails項目
sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev libsqlite3-dev