`
liano
  • 浏览: 25865 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ruby, ruby gems, gemsonrails, rails plugin 之间的关系

阅读更多
*ruby 之间的引用全部是源代码的引用,为了规范类库的管理,gems出现了。
gems是ruby源代码管理工具,代码按照一定的目录结构被组织成一个lib。
比如:rake, rails, rcov都有gem版本。
安装一个rake gem只需要执行 gem install rake. rake 的源代码被下载下来以后被放到了一个特定的位置。也可以下载rake.gem 通过执行 gem install rake.gem来手工安装。
那么如何使用呢?
require 'rubygems'
require 'rake'
这样就可以了。

前面的文章我说过ruby里的LOAD_PATH, rubygems 的位置在它安装的时候已经被加到了LOAD_PATH里了,在require ‘rubygems’的时候,rake gem下面的lib路径也被加入到了LOADPATH里。

*rake gem 安装以后可以在命令行使用吗?
不行!
gem包含的只是ruby的原代码库,要想使用必须用require引用。
如果要想在命令行运行rake,必须安装rake的命令行工具,就像apt-get install rake.

*rails可以使用gems
2种方式:
1.直接引用系统里的gem库
2.把gem绑定到rails里,通过gemsonrails这个命令行工具
其实就是直接把gem的文件夹copy到rails/vendor/gems下

如何freeze rails 到 rails peoject
rake rails:freeze:gems (from rails app root)
rake rails:unfreeze

rails app中的Rake文件引用了系统的rake,而后系统的rake引用了系统中的每个gem的rake文件。

*rails的plugin可以通过script/plugin命令来安装
plugin可以调用gem的程序,在于plugin程序如何写。

*rake 和plugin之间的关系
rails 中的Rake file引用config/boot,几乎引用了所有的rails运行时环境的东西

*rails中的gems只有在rails运行的时候,才由enviroment.rb来引入。
rake不会自动引入gems的代码和路径。如果要使用的话,需要require ‘vendor/gems/lib/xxx’。
gem 可以通过rake被freeze到rails app中去
因为rake自动引用plugin,所以先装一个gems的plugin
1.script/plugin install http://svn.ardes.com/rails_plugins/gems
而后再
2.rake gems:freeze GEM=gem_name

*rcov的rails plugin其实不做具体的工作,它是调用系统的rcov命令行工具。
所以必须安装rcov的命令行工具,apt-get install rcov

为什么rails rcov plugin没有包含rcov的全部功能呢?
因为rcov和系统相关,需要在安装的时候编译,这和OCI8是一样的。


分享到:
评论
3 楼 liano 2009-02-23  
同意楼上,反对楼主!:)
2 楼 viva_yang 2009-02-05  
同意楼上,反对教条
1 楼 rainux 2009-01-25  
liano 写道

*rake gem 安装以后可以在命令行使用吗?
不行!
gem包含的只是ruby的原代码库,要想使用必须用require引用。
如果要想在命令行运行rake,必须安装rake的命令行工具,就像apt-get install rake.


亲自试试再用这么肯定的语气说话。

相关推荐

    ruby gems (rails ,padrino, cancan ,puppet)

    在提到的标题和描述中,我们聚焦于四个特定的Ruby Gems:Rails、Padrino、Cancan和Puppet。这些Gem分别在Web开发、轻量级框架、权限控制以及配置管理方面起着重要作用。 Rails是Ruby on Rails的简称,它是一个基于...

    Ruby on Rails Tutorial Learn Rails by Example 的源代码

    《Ruby on Rails Tutorial: Learn Rails by Example》是Rails学习者们常常参考的一本书,由Michael Hartl撰写。这本书通过实际的示例项目“sample_app”引导读者深入理解Rails框架的各个方面。现在,我们来详细探讨...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权管理,Paperclip或Carrierwave处理文件上传等。虽然这些可能需要适配老版本,但它们能极大地增强你的...

    Practical Ruby Gems

    根据提供的信息,我们可以了解到这本书名为《实用Ruby Gems》(Practical Ruby Gems),作者是David Berube,出版于2007年。虽然具体内容没有给出,但从书名和相关信息来看,本书主要介绍了Ruby语言中的各种Gems及其...

    NetBeans Ruby and Rails IDE with JRuby 2009

    ### NetBeans Ruby and Rails IDE with JRuby 2009 #### 一、安装NetBeans IDE及Ruby支持 - **下载IDE**:首先需要下载最新版本的NetBeans IDE,该IDE集成了对Ruby的支持。 - **安装Java SDK**:由于NetBeans是...

    ruby-oracle相关的数据库操作的gems包

    标题提到的"ruby-oracle相关的数据库操作的gems包"是指一组用于连接和交互Oracle数据库的Ruby库。描述中指出,这些包主要基于oci8技术,oci8是Oracle公司提供的一个C接口,允许其他编程语言,如Ruby,与Oracle数据库...

    ruby1.8.7 & rails2.3.8

    描述中提到的"ROR开发安装环境整包"意味着这个压缩包包含了运行Rails应用程序所需的大部分组件,包括Ruby解释器、Rails框架,以及相关的Gems(Ruby的包管理器)。Gems是Ruby生态中的关键组成部分,它们是预编译的...

    ruby_on_rails 源代码上

    ActiveRecord是Rails中的ORM(对象关系映射)工具,它将数据库表与Ruby类关联起来,简化了数据库操作。通过定义模型类及其属性,开发者可以方便地执行CRUD(创建、读取、更新、删除)操作,而无需编写SQL语句。 4....

    gems使用手册ruby on rails

    gems使用手册ruby on rails,真的很好很好很好用啊

    ruby on rails api

    Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,专为敏捷开发而设计,强调简洁的代码和“约定优于配置”的原则。它主要用于构建数据驱动的Web应用,借助于MVC(Model-View-Controller)...

    ruby on rails 教程源码

    Ruby on Rails,简称Rails,是基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使开发过程更加简洁高效。这个“ruby on rails 教程源码”很可能是为了辅助学习者深入理解Rails的...

    ruby on rails在线考试系统

    7. Gems和插件:Rails社区提供了大量的Gems(Ruby的包管理系统),可以方便地扩展功能。例如,Devise用于用户认证,Cancancan进行权限控制,Paperclip或Carrierwave处理文件上传等。 8. 安全性:Rails内置了一些...

    基于ruby on rails开发示例源码

    1. **Gemfile**:列出项目依赖的Ruby gems(库),Rails和其他第三方库都通过Gemfile来管理。 2. **Gemfile.lock**:记录项目的精确gem版本,确保在不同环境中部署时保持一致性。 3. **config/**:配置文件夹,...

    Ruby on Rails入门例子

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...

    ruby on rails社区网站开发源码

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一个开源Web应用程序框架,它基于Ruby编程语言。这个框架以其MVC(Model-View-Controller)架构、约定优于配置(Convention over Configuration)的...

    ruby_on_rails安装部署指导手册

    ### Ruby on Rails 安装与部署知识要点 #### 一、前言 在进行 Ruby on Rails 的安装与部署过程中,我们需要关注几个核心方面:系统版本兼容性、软件依赖包的选择与安装、Ruby 语言环境的配置以及 Rails 应用的具体...

    Learn Ruby on Rails

    文件中提及的书籍内容包括介绍、概念、获取帮助、产品规划、项目管理、账户设置、应用创建、Git版本控制、使用Gems、配置、静态页面和路由、请求与响应处理、动态主页开发、故障排查、基础Ruby知识、布局与视图、...

    快速正确的安装 Ruby, Rails 运行环境

    对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,...

    ruby on rails 实践

    Ruby on Rails是一种流行的开源网站开发框架,它利用Ruby语言,遵循MVC(模型-视图-控制器)设计原则,用于快速开发数据库驱动的动态网站。本书《Ruby on Rails 实践》是一本指南,旨在向读者介绍Ruby on Rails框架...

    ruby on rails安装

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发更简洁、高效。Rails强调“约定优于配置”,大大减少了开发者需要编写的配置代码。在...

Global site tag (gtag.js) - Google Analytics