了解RubyGems

news/2024/9/7 21:59:23 标签: rubygems, Rails, Ruby, maven, ORM
1, 什么是Gem?
gem是Ruby程序或库的打包方式,比如[b]gem install rails[/b]就是安装rails程序的gem
我们可以拿gem和war、jar类比
但是gem还担当了Java里maven的角色,就是一个库管理工具,可以远程下载和安装Ruby

2, 常用gem命令
gem build -- Build a gem file from a specification
gem cert -- Support signing and managing signed gems
gem check -- Check installed gems for problems
gem cleanup -- Cleanup old versions in the repository
gem contents -- Display the files contained in an installed gem
gem dependency -- List the dependencies of a gem
gem environment -- Display information about the gem environment
gem help -- Provide help about gem commands
gem install -- Installing a gem
gem list -- List gems starting with a string
gem query -- Query for a list of gems
gem rdoc -- Generate the RDoc files for an installed gem
gem search -- List gems containing a string
gem specification -- Extract the Gem::Specification from a gem file
gem uninstall -- Uninstalling a gem
gem unpack -- Unpack an installed gem to the current directory
gem update -- Update your installed gems

3, 写自己的gem
看看rails-1.2.3.gemspec
[code]
Gem::Specification.new do |s|
s.name = %q{rails}
s.version = "1.2.3"
s.date = %q{2007-03-13}
s.summary = %q{Web-application framework with template engine, control-flow layer, and ORM.}
s.email = %q{david@loudthinking.com}
s.homepage = %q{http://www.rubyonrails.org}
s.rubyforge_project = %q{rails}
s.description = %q{Rails is a ...}
s.default_executable = %q{rails}
s.authors = ["David Heinemeier Hansson"]
s.files = ["bin", "builtin", ... ]
s.rdoc_options = ["--exclude", "."]
s.executables = ["rails"]
s.add_dependency(%q<rake>, [">= 0.7.2"])
s.add_dependency(%q<activesupport>, ["= 1.4.2"])
s.add_dependency(%q<activerecord>, ["= 1.15.3"])
s.add_dependency(%q<actionpack>, ["= 1.13.3"])
s.add_dependency(%q<actionmailer>, ["= 1.3.3"])
s.add_dependency(%q<actionwebservice>, ["= 1.2.3"])
end
[/code]
[code]
gem build mygem.gemspec
[/code]

4, 发布Gems
a, 提供xx.gem下载
b, gem_server
c, 上传到[url=http://rubyforge.org]RubyForge[/url]
因为我们使用[b]gem install xx[/b]命令安装gem时首先查找本地gems
如果本地gems没有,则从[url=http://rubyforge.org]RubyForge[/url]寻找gems

http://www.niftyadmin.cn/n/728561.html

相关文章

wordpress+pdo+mysql扩展_您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法...

转自&#xff1a;http://www.xuebuyuan.com/1549022.html这已经是一个老掉牙的问题了&#xff0c;部分人使用自己的服务器安装WordPress程序之后&#xff0c;会出现“您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”这样的问题&#xff0c;包括我在内&#xff0c;前…

python open打开文件报错_Python学习笔记之open()函数打开文件路径报错问题

这篇文章主要介绍了Python学习笔记之open()函数打开文件路径报错问题&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起过来看看吧 要以读文件的模式打开一个文件对象&#xff0c;使用Python内置的open()函数&#xff0c;传入文件名和标示符&#xff0c;标示符r表…

实战Hilog笔记三:@current_user/logged_in?/require_login/editable?

1,在ApplicationController里添加几个辅助方法: [code] class ApplicationController < ActionController::Basesession :session_key > _hilog_session_idbefore_filter :load_defaultshelper_method :logged_in? protecteddef load_defaultscurrent_user if logged_in…

elementio中树形表格不显示_CAD制图软件中CAD布局视口内容不显示怎么办?

有些人在使用浩辰CAD制图软件布局时延续了模型空间的使用方法&#xff0c;只利用视口来排图&#xff0c;因此就会出现由于一个CAD布局中有过多视口而导致一些视口内容不显示的状况。在浩辰CAD制图软件中CAD布局空间能同时显示多少个视口是由变量MAXACTVP(Maxmium Active viewpo…

Tiger in the house

很高兴花周五晚上2个小时的时间来阅读这样一本实用的书 -- 《Java 5.0 Tiger》很多我面试过的朋友&#xff0c;工作经验两年以上&#xff0c;到今天都只用过JDK1.4&#xff0c;中WebSphere/WebLogic的毒不浅 智&#xff0c;日日知新也一、新的类库 1, [urlhttp://java.sun.com/…

gpu合成方案_浏览器极致性能调优之——浏览器合成与渲染层优化

一个 CSS 属性引发的血案 Web 页面性能是前端开发特别需要关注的重点&#xff0c;评判前端 Web 页面性能的指标有很多&#xff0c;页面的流畅度是其中的一种&#xff0c;如何让页面变得 “柔顺丝滑”&#xff0c;要讨论起来可就是个相当有料的话题了。之前开发移动端 H5 页面的…

Spring JavaConfig参考文档

Spring JavaConfig参考文档 [urlhttp://static.springframework.org/spring-javaconfig/docs/1.0-m2a/reference/html/index.html]Spring JavaConfig Reference Documentation[/url] Rod Johnson Costin Leau version 1.0-m2 Copies of this document may be made for your own…

using index mysql_MySQL执行计划extra中的using index 和 using where using index 的区别

本文出处&#xff1a;http://www.cnblogs.com/wy123/p/7366486.html(保留出处并非什么原创作品权利&#xff0c;本人拙作还远远达不到&#xff0c;仅仅是为了链接到原文&#xff0c;因为后续对可能存在的一些错误进行修正或补充&#xff0c;无他)mysql执行计划中的extra列中表明…