第一天,Ruby on Rails,環境的安裝與配置
Ruby on Rails環境的安裝與配置
2018年11月29日學習筆記
- 本機環境:Ubuntu 16.04 LTS,64位作業系統,記憶體8G,磁碟200G, CPU型號:Intel® Core™ i5-8300H CPU @ 2.30GHz × 8
- 準備裝的軟體:Rubymine,Smartgit,Ruby,Rails,terminator等
- 安裝rubymine:
$sudo snap install rubymine --classic
- 安裝smartgit:官網下載(https://www.syntevo.com/smartgit/download/)
Download for Linux,有ubuntu版本Debian Bundle,下載下來是一個.deb檔案,直接雙擊開啟安裝就可以了,非常方便。smartgit是一個版本控制軟體,開發專案時要養成良好的習慣。 - 接下來是安裝ruby和rails,這個直接安裝有一點點麻煩,我這裡用rvm的方法來安裝,具體參考(如何快速正確的安裝 Ruby, Rails 執行環境https://ruby-china.org/wiki/install_ruby_guide):
安裝RVM:
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable
安裝成功後載入rvm環境:$ source ~/.rvm/scripts/rvm
每次開啟一個終端都要載入一次,十分麻煩,百度後發現,開啟主目錄下的.bashrc檔案,在最後一行加上[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
這樣就可以自動載入,不用每次都改了。
修改 RVM 下載 Ruby 的源,用 Ruby China 的映象:
$echo "ruby_url=https://cache.ruby-china.com" > ~/.rvm/user/db
注意是com而不是org。
此時可以$ rvm -v
檢查是否安裝好rvm。
安裝Ruby:
$ rvm requirements
$ rvm install 2.4.1
這裡以2.4.1為例,大家可以選自己需要的版本。
指定該版本為預設版本$ rvm use 2.4.1 --default
此時,Ruby, Ruby Gems 就安裝好了。
檢查一下
$ruby -v
$gem -v
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
安裝 Bundler:$ gem install bundler
最後一步,安裝rails:$ gem install rails
測試一下是否裝好了$rails -v
然後就可以開始Ruby on Rails之旅了。新建一個專門用來存放專案的資料夾,進去之後建立新專案:
$rails new hello_app
$cd hello_app
$bundle install
$rails server
開啟瀏覽器,localhost:3000,激動!沒跑出來也沒關係,後面的問題列表可能會幫助你解決遇到的問題。
遇到了一些問題
- 開啟命令列,提示沒有安裝rails?
$ source ~/.rvm/scripts/rvm
$rvm -v
如果輸入之後解決了這個問題,就參考上面的修改.bashrc
-
bundle install出錯:can’t find the ‘libpq-fe.h’ header…
這是由於沒有編譯動態庫,解決方法:$sudo apt-get install libpq-dev
-
rails server 出錯,Could not find a JavaScript runtime…
提示需要一個Java環境,這時安裝nodejs:
$sudo apt-get install nodejs
$sudo apt-get install npm
今天整理昨天的筆記,好多安裝過程沒辦法截圖了,見諒。手敲程式碼和錯誤提示,可能會有小問題,ubuntu初學者,有些解決方法可能很笨拙,不過親測問題是可以解決的。
電腦(聯想Legion Y7000)剛裝了雙系統,ubuntu系統的無線網路驅動裝了好多次還是不能連wifi,觸控板也不能用,鍵盤背光也開不了,摸黑加班非常苦惱。就這樣直接開始學習了,如果有人能幫我解決這些問題,歡迎留言或發郵件給我([email protected])。
持續更新中,有問題歡迎留言。