`
jeff312
  • 浏览: 77301 次
  • 性别: Icon_minigender_1
  • 来自: 新加坡
社区版块
存档分类
最新评论

Ruby on Rails 初学手记 (一)

    博客分类:
  • Ruby
阅读更多
    近期公司Java项目彻底宣告失败,没了工期的压力和牵挂,有了很多闲暇来研究一些期待已久却无暇涉及的技术,RoR就是其中一个。由于公司的电脑始终有好几个gem安装不成,干脆决定白天在公司了解Grails,晚上回家学习RoR(反正都是rails,齐头并进也很好),没有任务压力,倒也自得其乐。

    我的电脑是Win7x64的系统,安装rails毛病何其多也,即使有了包括ruby,rails,DevKit一体的RailsInstaller(Ruby1.92 + Rails3.1),仍有一些核心gem版本跟不上的问题。
    第一个是mysql2,最新的版本是0.3.7,如默认参数安装:
gem install mysql2

,就会是这个版本。但经试验,所有0.3.x的版本目前在win32的驱动上都有问题,至少在我的机器上无法安装,即使加上诸多with-mysql的参数也不行。换成0.2.6:
gem install mysql2 -v 0.2.6

之后才装成了。接下来mysql2安装好了,server却还是run不起来。经google发现我的mysql5.5-x64的lib尚未被0.2.6支持(猜想0.3.x的版本是支持的,只可惜在win上搞不成),于是把mysql5.1-x86安装包中的libmysql.dll拷贝到ruby的bin目录下,并重新安装mysql2 0.2.6。终于,在项目目录下运行
rails server

命令后,默认服务器WEBrick跑起来了……。当然之后还有一些曲折,比如新创建的view无法访问,无论怎么改routes.rb都无效,经简单思考,把默认的view的相关文件删除后便ok了。
    第二个是mongrel。很多人不喜欢Ruby默认的WEBrick,用mongrel的人好像比较多,robin似乎比较推荐lightTPD。作为rails初学者,我也暂时不想管那么多,既然mongrel比较流行那我也试试看。首先用最简单的方式,在GemFiles里添加
gem 'mongrel'

之后在项目目录下运行:
bundle install

结果是成功安装了mongrel 1.1.5(作为最新的正式发行版本),但是在启动的时候爆出一个“msvcrt-ruby18.dll was not found”的windows错误,看来这个1.1.5的mongrel尚未支持高于1.8的Ruby。以这个错误信息在stack overflow上搜索,发现下面workaround:
http://stackoverflow.com/questions/3250406/msvcrt-ruby18-dll-was-not-found-with-ruby
按照网页中的提示,我卸载mongrel-1.1.5并成功安装了mongrel pre版本1.2.0,这个是支持Ruby1.9x的。但是再次运行
mongrel_rails start

却仍提示缺少mongrel-1.1.5。怎么办呢,呵呵,说来简单,我重装1.1.5之后,再跑到gem的目录去,用1.2.0pre的内容去替换1.1.5目录下的文件,哈,这下mongrel真正跑起来了!

    感想:在win下面搞RoR的环境真的是很辛苦,而且由于其需要DevKit帮你搞cygwin这种模拟unix环境,做很多事情都极慢且易出错。罢了罢了,玩玩而已,真要上RoR,看来非OSX、linux不可。
分享到:
评论

相关推荐

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    ruby on rails 101

    《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天课程的演示文稿和相关资料,覆盖了从安装到实际应用...

    ruby on rails最新版

    总的来说,这个压缩包对于Ruby on Rails的初学者或希望升级现有项目的开发者来说,是一个宝贵的资源。它提供了便捷的方式来获取和安装Rails框架,从而快速进入开发状态。不过,使用前应确保已安装好Ruby环境,并了解...

    ruby on rails 安装手记

    **Ruby on Rails 安装手记** Ruby on Rails(简称Rails)是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以提高开发效率和代码可读性。本篇文章将详述如何在您的计算机上安装...

    Ruby on Rails安装包全集(Linux)

    Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...

    ruby on rails 3 tutorial.pdf

    《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...

    ruby on rails for dummies

    《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    Ruby on Rails入门权威经典

    《Ruby on Rails入门权威经典》是一本专门为初学者设计的指南,旨在帮助读者全面掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言的开源框架,以其“DRY(Don't Repeat ...

    Ruby on Rails入门经典代码

    本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习Rails的宝贵资源,帮助初学者快速掌握这个强大的框架。 1. **Rails基础知识**: - MVC架构:Rails的核心设计模式,模型负责数据处理,视图负责展示,控制器...

    ruby on rails api

    Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,专为敏捷开发而设计,强调简洁的...对于Ruby on Rails初学者和经验丰富的开发者来说,这样一份详尽的API文档都是不可或缺的学习和工作资源。

    Ruby On Rails中文教材(PDF)

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...

    Learn Ruby on Rails

    文件中提到的“Learn Ruby on Rails”是一本为Ruby on Rails初学者准备的入门教程。该书因其文字表达清晰,代码示例中采用彩色高亮,方便阅读和理解。它还包含目录,使得读者能够快速定位感兴趣的主题或遇到的问题。...

    Ruby on Rails中文指南

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...

    Ruby on Rails实践

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...

Global site tag (gtag.js) - Google Analytics