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

Ruby on Rails 初学手记 (二)

    博客分类:
  • Ruby
阅读更多
(第一篇:http://jeff312.iteye.com/admin/blogs/1179889)

     第一篇的实验, 到后来居然又跑不起来active-record, 经调查原因可能是mysql 5.1 的libmysql.dll 不兼容, 需要用5.0的版本, 或者本地编译, 总之, 让我不胜其烦. 最终决定不再用windows来搞ruby, 反正我还有macbook pro, 谁怕谁啊.

     macosx是类unix系统, 安装ruby和gem可以像linux一样用rvm(Ruby Version Manager), 不仅简单顺利, 还可以非常方便地同时安装多个ruby版本, 且各版本都拥有独立的一套gem. 到rvm的官网上下载并按说明安装一路顺利, 完成后"rvm"就可以作为系统命令来使用了. 请注意整个过程尽量不要用sudo, 否则权限会乱, 不好管理.

    接下来, 首先安装ruby:
rvm install 1.9.2
rvm install 1.8.7
rvm install ...

需要说明的是, osx本身就预装了ruby的, 本人刚升级到lion, ruby版本是1.8.7, 但是多数人都不建议直接用osx的自带ruby搞开发, 所以如需要ruby1.8.7, 最好还是在rvm里新装一个. 安装rvm和ruby期间, 有可能出现'make'相关的错误, 这主要是xcode没有安装或版本跟系统不兼容引起的(比如, 我从snow leopard在线升级到lion之后,没有更新xcode), 如果系统是lion, 则最好升级到xcode 4.x, 在线安装就可以, 免费的.
    接下来是安装gem. 我们知道, rvm下可以有多个ruby版本,而你可以为每个ruby版本安装不同的gem, 所以在安装gem之前, 我们必须先指定这个gem将装在哪个版本上:
rvm use 1.9.2

这样, 接下来的gem安装就会在ruby1.9.2上进行而不会影响到1.8.7或其它版本包括系统ruby. 在以上命令中可以添加 --default 参数, 这样这个use的版本将被作为系统默认ruby来工作(其实没必要). 现在可以装gem了,首先当然是rails:
rvm gem install rails

在写这篇文章的这段时间, 如果不指定-v参数, 则默认会安装最新的3.1版的rails. 很多人在osx下面会在这个命令执行后遇到 file 'lib' not found 的错误, 由于所有的相关依赖gem都正确地装上了, 我倒觉得没什么, 但如果实在不喜欢这些错误信息, 那么改用:
rvm gemset install rails

也是可以的, 并且这个安装不会看到错误信息(天知道是不是自欺欺人).
    我在mac上安装的数据库是mysql, 所以为了让active record工作, mysql2 这个gem也是要装的, 最简单的命令是:
rvm gem install mysql2

当前默认的版本是0.3.7(想起windows来了, 在第一篇文章中, mysql2的0.3.x的win32版本全都不能用). 不过, 由于mysql2需要用到mysql的一些库, 而多数情况下它也找不到mysql的库目录, 这使得将来启动server的时候, 可能会出现:
Reason: image not found - /Library/Ruby/Gems/1.9/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle

这类错误. 因此, 我们可以在安装mysql2的时候, 指定 --with--mysql--lib 参数, 用于指定mysql的 lib/ 目录. 如果你像我一样, 不幸没有指定这个目录, 有一个解决办法就是:
install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib ~/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle

以上命令中的数字是不一定的, 要根据你得到的错误信息来调整.

    好了, 终于可以开始写点代码了, ide我选的是rubymine(of course cracked), 每新建一个项目都会询问你选择哪个ruby版本来开发, 很好很强大, eclipse啥时候能有这功能, 动态选择jvm...

------------------ 临时分割线 --------------------

由于macbook经常被老婆征用,台式电脑还得接着用,于是在win7之外又装了个ubuntu-11-x64,并随手搭建RoR环境,所以这里补充一点linux下的注意事项. 在我的ubuntu 11 下, 装完rvm 并装上ruby后, 如果马上就试图安装rails:
rvm gemset install rails

可能会遇到'no such file to load --zlib' 的错误. 这种情况下, 首先要安装zlib:
rvm pkg install zlib

(有的rvm版本pkg要写成pakcage), 然后重装ruby和rails:
rvm remove 1.9.2
rvm install 1.9.2
rvm use 1.9.2
rvm gemset install rails

在osx下出现的libmysqlclient错误,在ubuntu下只需要apt-get补充安装这个类库即可:
sudo apt-get install libmysqlclient-dev

这样装好后再安装mysql2,连--with--mysql-xxx这些参数都可以省略了。
由于我的ubuntu是为玩RoR匆忙装上的,所以经常遇到缺少某库某库的错误,比如,此时我直接到项目目录下运行:
rails server

就遇到了 `autodetect': Could not find a JavaScript runtime. 这样的错误,该死的后面误导我去安装execjs,好吧我装:
rvm gem install execjs

安装顺利,但是错误依旧,还是说找不到js运行库,建议我安装execjs,罢了,google一下后发现所谓缺少的js运行库是os级别的,ruby装在gem里面的不算数,于是:
sudo apt-get install nodejs

ok,终于把WEBrick跑起来了。
分享到:
评论

相关推荐

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

    ruby on rails最新版

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

    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 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 for dummies

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

    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中文教材(PDF)

    本中文教材《Ruby On Rails》可能是针对初学者和有一定编程基础的开发者设计的,通过PDF格式提供,便于读者在线阅读或离线保存。PDF文档通常包含详细的教程、实例代码和可能的练习题,旨在帮助学习者全面了解和掌握...

    ruby on rails api

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

    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应用的开发流程,提高...

    Ruby on Rails教程:学习使用Rails进行Web开发Ruby on Rails Tutorial: Learn Web Development with Rails

    本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。

    Learn Ruby on Rails

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

Global site tag (gtag.js) - Google Analytics