创建自己的GEM包

新建gem包

$ bundler gem my_plugin
  • Gemfile 描述dependency
  • Rakefile发布和打包的rake tasks
  • my_plugin.gemspec gem的spec

修改gemspec文件

#去除TODO
  spec.summary       = %q{Write a short summary, because Rubygems requires one.}
  spec.description   = %q{Write a longer description or delete this line.}

#添加依赖
spec.add_dependency 'activerecord', ['>=3.0', '<5.0']

#配置上传服务器
  if spec.respond_to?(:metadata)
    spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
  else
    raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
  end

产生GEM包

$ rake build

生成的gem包在pkg文件夹下。

安装GEM包

$ rake install
//将gem包安装到系统gem包中,可以require使用

为GEM包添加方法

//lib/my_plugin.rb
require "my_plugin/version"
module MyPlugin
  def self.hello
    p "Hello from my_plugin"
  end
end

测试使用

$ rake install

require "my_plugin"
MyPlugin.hello

$ bundle console

$ > MyPlugin.hello

发布GEM包

rake release
//输入你在rubygems.org的账号和密码

使用本地gem包

gem 'my_plugin', :path => '~/developer/my_plugin'

等开发完成后,可以将gem包上传到git上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 发布 在第二章中, 我们简要的看了一下默认的 bundler 给我们创建的 Rakefile: 这单独的一行可以让...
    编程青年阅读 1,611评论 0 0
  • Awesome Ruby Toolbox Awesome A collection of awesome Ruby...
    debbbbie阅读 2,976评论 0 3
  • 文 | 安羽心理 青春期的孩子,除了生理上的变化以外,更主要的表现在心理上的突然变化,一般来说孩子的心理特点具体表...
    安羽心理阅读 312评论 0 0
  • 忘记朋友是件悲哀的事 不是每个人都有朋友的 如果我忘记了你们 我想我会怪我自己 虽然我相信时间可以冲刷一切 但这"...
    余音zrn阅读 210评论 0 1