浏览 4046 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (13)
|
|
---|---|
作者 | 正文 |
发表时间:2009-01-24
最后修改:2009-01-24
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是一样的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-01-25
liano 写道 *rake gem 安装以后可以在命令行使用吗? 不行! gem包含的只是ruby的原代码库,要想使用必须用require引用。 如果要想在命令行运行rake,必须安装rake的命令行工具,就像apt-get install rake. 亲自试试再用这么肯定的语气说话。 |
|
返回顶楼 | |
发表时间:2009-02-05
同意楼上,反对教条
|
|
返回顶楼 | |
发表时间:2009-02-23
同意楼上,反对楼主!:)
|
|
返回顶楼 | |