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 显示帮助信息

运行成功后在外网登录http://hostip:3000即可:

Ruby on Rails安装_第1张图片

你可能感兴趣的:(网络)