1. 程式人生 > >Ruby on Rails安裝

Ruby on Rails安裝

環境:ubuntu

首先安裝ruby

sudo apt install ruby

檢視ruby版本

ruby -v

安裝rails

配置gem源

由於預設的gem源使用的是國外的源,在國內速度慢而且時常無法訪問,所以先配置gem源,之前淘寶負責的源已經有ruby中國負責

gem sources  #顯示現在的gem源有哪些
gem sources -r https://rubygems.org/  #之前淘寶的gem源已經交給ruby中國負責
gem sources -a https://gems.ruby-china.org/

gem sources選項:


-a 新增源
-l 列出所有源
-r 刪除源
-c 清除所有源
-u 更新source cache源快取

安裝ruby-dev

sudo apt-get install ruby-dev 

centos下使用

yum install ruby-devel 

否則會出現錯誤

mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

刪除衝突的linux-image*generic

dpkg -l 'linux-image-*' | grep 'ii'
sudo apt-get autotemove

或者使用

aptitude search ~ilinux-image #列出所有已安裝的kernel
uname -r                      #找到現在正在執行的kernel

這裡寫圖片描述
找出多餘項然後刪除,
否則會出現錯誤:

dpkg: error processing package linux-image-generic (--configure): dependency problems

缺少zlib2

sudo apt get install zlib1g-dev 

否則出現錯誤

zlib.h: No such file
or directory

安裝sqlite3開發包

apt list | grep sqlite3 | grep dev
sudo apt install libsqlite3-dev

否則出現錯誤

sqlite3.h: No such file or directory

成功安裝rails

sudo gem install rails # 以sudo來執行

啟動rails server

新建一個ruby rails目錄

rails new ~/Code/Ruby/weblog

切換到~/Code/Ruby/weblog目錄然後啟動rails server,

rails s #等同於命令rails server

出現錯誤:

bundler: command not found: spring Install missing gem executables with `bundle install`

執行

bundle install

預設的bundle從外網下載,會出現unkownhost的問題,新增一個國內源即可,

bundle config mirror.https://rubygems.org https://gems.ruby-china.org
bundle

再次啟動rails s提示錯誤,缺少nodejs

sudo apt install nodejs

安裝成功之後執行rails server

rails s

成功執行後發現從外網訪問會出現拒絕請求的錯誤,使用wget也可以成功下載網頁內容,

wget http://localhost:3000

繫結ip,從外網訪問

查詢之後發現通過預設繫結的是localhost而不是ip地址,所以使用-b選項繫結ip就可以從外網訪問:

rails server -b hostip

-b 繫結rails到特定的ip
-p 在特定的埠上執行rails
-d 以守護程序的方式執行
-P 指定 PID file
-h 顯示幫助資訊

這裡寫圖片描述