刚开始学ruby on rails,看了一本书说是书里的例子都是用默认的sqlite3数据库的,所以配置了一下,出现了不少问题
这里说一下,学习rails一定要选择对版本,要2.0以后的,也要看2.0以后的相关的书和例子,不然会走很多弯路的
1 先到官方网站下载http://www.sqlite.org/download.html
我的是windows平台,根据平台选择
1 SQLite DLL sqlite-3_6_15.zip
2 SQLite command-line client for creating tables sqlitedll-3_6_15.zip
要在系统path里做相应配置,或者放到system32下,否则得到相应的存放目录才能运行
2 安装sqlite3-ruby http://wiki.rubyonrails.org/database-support/sqlite,参考http://hi.baidu.com/thinkinginlamp/blog/item/bf95b7451f7bda20cefca34e.html
gem install sqlite3-ruby
这时一般会报错
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
D:/ruby/bin/ruby.exe extconf.rb install sqlite3-ruby
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no
nmake
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Gem files will remain installed in D:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1
.2.4 for inspection.
Results logged to D:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_
api/gem_make.out
出现这个错误的原因是因为系统正在尝试安装一个源代码版本,而不是我们期望的二进制版本。
查看一下有效的sqlite3-ruby软件包都有哪些:
gem list --remote --all sqlite
显示结果如下:
sqlite (2.0.1, 2.0.0, 1.3.1, 1.3.0, 1.2.9.1, 1.2.0, 1.1.3, 1.1.2, 1.1.1, 1.1)
sqlite-ruby (2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2)
sqlite3-ruby (1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.6.0, 0.5.0)
sqlitecache (0.0.1)
可以看到,我们刚才安装的sqlite3-ruby是1.2.4版本,降低一下版本号,看看是不是有二进制版本:
gem install sqlite3-ruby --version 1.2.3
此时安装应该成功了。
3 建立数据库
>sqlite3 demo.db
修改你的应用配置文件config下的database.yml
development:
adapter: sqlite3
database: db/demo.db//这里
pool: 5
timeout: 5000
基本不用修改
关于sqlite 的语法可以到官方网站http://www.sqlite.org/docs.html查看
这里推荐两篇写的不错的文章 http://blog.csdn.net/wanglixin1999/archive/2009/06/17/4277060.aspx
http://www.sd-taishan.gov.cn/sites/weihai/rushan/articles/F00000/1/6772779.aspx
4 这时启动你的应用就可以正常运行了
每次打开127.0.0.1:3000先点击下面的连接看一下
About your application’s environment如果出现Sorry字样,说明配置有问题