ruby开发环境安装(fedora)
1. 安装ruby语言的执行环境
* 源码安装
到官方下载码,装就好编译工具,编译安装就是了。gcc make
* 二进制包安装
yum 或 apt 或 exe
2. 用gem安装必须的工具
gem是ruby内置的软件包管理器,使用它可以安装和管理ruby的所有扩展
其中,扩展包有两种形式,一种是ruby的源代码,一种是二进制文件。
前面一种直接会从官网直接下载,后面那种会调用gcc来编译出相应的二进制扩展。因此必须拥有相应的编译工具,如gcc以及对应的头文件。
因为官方的太慢了,可以用淘宝的镜像
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***
# 请确保只有 ruby.taobao.org
$ gem install rails
如果你是用 Bundle (Rails 项目)
source 'http://ruby.taobao.org/'gem 'rails', '4.0.2'...
gem list
会列出所有己经安装的工具
3. 用rails实例化应用
rails new myapp
4. 用bundle管理应用中的包
bundle install
它会把应用中需要的其它工具给安装好。
bundle show
它会把应用中的所有的bundle都给显示出来。
5. 启动实例
rails server
其中遇到一些困难
1. 找不到gemfile
gem install bundler
进入到应用的根目录
2.gem安装工具时, 没相应的头文件
把相应工具包的 xxx-devel给装上
3. 启动sqlite时路径错误
启动rails时候失败,报错如下:
/usr/local/share/gems/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
追究问题根源在于找不到sqlite3_native,于是顺腾摸瓜...找出这个sqlite3_native
#find /usr/local/share/gems/gems/ -name sqlite3_native*
/usr/local/share/gems/gems/sqlite3-1.3.7/ext/sqlite3/sqlite3_native.so狐狸尾巴楼出来了...
我们在找到sqlite2.rb这个文件、看看里面是怎么个情况情况...
# support multiple ruby version (fat binaries under windows)
begin
RUBY_VERSION =~ /(\d+\.\d+)/
require "sqlite3/#{$1}/sqlite3_native"
rescue LoadError
require 'sqlite3/sqlite3_native'
end
require 'sqlite3/database'
require 'sqlite3/version'
如上所示,require需要找到sqlite3/sqlite3_native这个东东,但是sqlite3/这个路径显然不对,此时只要把如下这句修改一下即可:
require 'sqlite3/sqlite3_native'-----》》》 require '/usr/local/share/gems/gems/sqlite3-1.3.7/ext/sqlite3/sqlite3_native'
此时
#rails server
..........