*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是一样的。
分享到:
- 2009-01-24 14:54
- 浏览 2114
- 评论(3)
- 论坛回复 / 浏览 (3 / 4017)
- 查看更多
相关推荐
ruby gems (rails ,padrino, cancan ,puppet)
gems使用手册ruby on rails,真的很好很好很好用啊
ruby中操作oracle数据库使用的oci8技术相关的gems包,包括3个版本
对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,...
Practical Ruby Gems 今天刚下的
ROR开发安装环境整包,包含ruby1.8.7,rails2.3.8,以及9个相关依赖的gems,一次下载基本上就可以把ROR环境建成。
rails on ruby 4.2.0相关的GEM安装包
Apress.Practical.Ruby.Gems.Apr.2007.pdf is about ruby and gems
Rails2.3.8开发安装环境整包,包含ruby1.8.7,rails2.3.8,以及9个相关依赖的gems,一次下载基本上就可以把ROR环境建成。
对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,...
ruby gem环境,解压覆盖C:\Ruby193\lib\ruby\gems\1.9.1
ruby对应数据库的必需gems包,包括最新的3个版本的dbi源码和gems安装包
How to work with Ruby libraries, gems, and documentation How to work with files and databases How to write and deploy Ruby applications What are the various Ruby web frameworks and how to use them How...
the-ultimate-guide-to-ruby-timeouts, 流行 ruby Gems的超时 ruby-超时的终极指南没有反应的服务可能比向下的服务更差。 如果不正确处理,它可以捆绑整个系统。 所有网络请求超时。 下面是为流行 ruby Gems 添加...
三重堆栈从头开始构建: 安装导轨: 通过运行rails --version验证您的安装如果您看到错误cannot load such file -- c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rails-4.2.0/bin/rails (LoadError)或类似...
包含redis-3.2.11.tar.gz、ruby-2.3.8.tar.gz、rubygems-3.0.4.tgz、redis-3.2.1.gem离线安装包,亲测有效 redis安装步骤:https://blog.csdn.net/hitits/article/details/94588433 ruby安装步骤:...
在Ruby(和Rails)中部署机器学习模型Trove:fire:在Ruby(和Rails)中部署机器学习模型与XGBoost,Torch.rb,fastText和许多其他gems配合使用非常好。将这一行添加到应用程序的Gemfile中:gem'trove'并运行:bundle ...
管理 ruby 的 Ansible 角色(安装、设置、gems) 变量 ruby_enabled : yes # The role is enabled ruby_version : 1.9.3 # Set ruby version (1.9.3, 2.0.0, 2.1.2) ruby_gems : [] # List of gems which will...