`
pure
  • 浏览: 350912 次
社区版块
存档分类
最新评论

再次回归Rails

阅读更多
学习Rails是在2007年的时候吧,期间做了一个项目:爱美发,上线时间是在2008年6月,在服务器上跑了一年,没什么人气就关闭了,不过rails的开发效率是很高,很方便,但是Rails那个升级很快啊,一开始还很兴奋,每次那么多新功能加入,但是时间长了跟着很累,希望能稳定下来,接下来的Rails3应该会很稳定了吧,再不会让咱们追啊追。

时隔差不多一年了,等rails3没劲了,干脆用rails2.3来做个项目吧,边做边跟进,rails3出来的时候也好适应。接下来会写很多日志,不要再像前面那样学过了就忘记了,也没有写日志。

只记录一下我在项目开发过程中碰到的问题及解决办法,第一个问题当然是rails的安装,在线安装很简单:

gem install rails -y 
(有时候需要更新一下gem的版本,即执行gem update --system)

离线安装需要下载rails相关的gem和zip放在同一个目录下,执行

gem install rails -l
就可以了。

另外就是rails2.3默认是sqlite3数据库,因此又要折腾一翻。

http://www.sqlite.org/download.html 下载sqlite3的windows版

http://www.sqlite.org/sqlite-3_6_16.zip
http://www.sqlite.org/sqlitedll-3_6_16.zip

为了方便直接将这个解压到ruby/bin下,这样你也懒得去配置环境变量就可以使用 sqlite3>命令了。

要使用sqlite3数据库,需要安装sqlite3-ruby gem 支持,如果直接在windows上执行

gem install sqlite3-ruby
很有可能会报如下的错误

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.

c:/ruby/bin/ruby.exe extconf.rb install sqlite3-ruby
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no

nmake
'nmake' is not recognized as an internal or external command,
operable program or batch file.


Gem files will remain installed in
c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1
.2.4 for inspection.
Results logged to
c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_
api/gem_make.out

原因是windows没有编译环境,因此在window上最好安装构建好的二进制版本,当前是1.2.4找不到二进制版本,那么我们查看一下sqlite3-ruby有哪些版本可供安装,执行下面的命令:

gem search sqlite --remote -a


执行的结果可能是下面的列表:

*** REMOTE GEMS ***

activerecord-jdbcsqlite3-adapter (0.9.1, 0.9, 0.8.2, 0.8.1)
dbd-sqlite (0.1.2, 0.1.1, 0.1)
dbd-sqlite3 (1.2.5, 1.2.4, 1.2.3, 1.2.2)
do_sqlite3 (0.9.12, 0.9.11, 0.9.10.1, 0.9.10, 0.9.9, 0.9.8, 0.9.7, 0.9.6, 0.9.5, 0.9.4, 0.9.3, 0.9.2, 0.2.5, 0.2.3, 0.2.2, 0.2.1, 0.2.0)
jdbc-sqlite3 (3.6.3.054, 3.5.8)
osmlib-sqlite (0.1.4, 0.1.2, 0.1.1, 0.1.0)
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)


因此我安装1.2.3版本试试,看是否有二进制版本。

执行 gem install sqlite3-ruby -v 1.2.3

执行结果:

Successfully installed sqlite3-ruby-1.2.3-x86-mswin32
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.3-x86-mswin32...
Installing RDoc documentation for sqlite3-ruby-1.2.3-x86-mswin32...

现在sqlite3-ruby gem 就安装好了,现在rails已经可以使用sqlite3数据库了。

另外如果报这样的错:

no such file to load -- sqlite3


那么极有可能是sqlite3-ruby gem安装失败或有问题。

补充一下gem的用法:

gem 是相当的方便,常用的功能也就是

gem install xxx 安装
gem uninstall xxx 卸载
gem help 显示帮助 
gem help install 显示安装的帮助
gem list 已经安装的gem列表
gem search xxx --remote 远程搜索gem
gem search xxx --local  本地搜索gem


所以在不知道gem有哪些命令或参数时记得使用
gem help 或 gem help 命令
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics