Ruby on Rails安裝
阿新 • • 發佈:2019-01-29
環境: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 顯示幫助資訊