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即可:

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值