`
jeff312
  • 浏览: 77905 次
  • 性别: 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中文教材(PDF)

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

    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 3 tutorial.pdf

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

    Ruby on Rails安装包全集(Linux)

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

    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文档都是不可或缺的学习和工作资源。

    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