发布一个自己的 gem
来源:互联网 发布:淘宝压缩羽绒服 编辑:程序博客网 时间:2024/06/04 18:12
上篇文章提到了 rvm 那是 ruby 的版本管理工具。ruby 的包管理工具使用最多的是 gem,因为工作中用到了 gem 所以把 gem 的发布流程总结下。
1、注册账号
注册地址:https://rubygems.org/sign_in
注册之后才能在后面提交 gem。账号注册完后会受到一份邮件,激活下就可以了。
2、创建 gem 工程
2.1、所谓创建 gem 工程只是把gem需要的文件组织下就可以了。可以按照官网自己创建,也可以用 bundler 创建。这里为了方便就用 bundler 直接创建了。
bundler gem mygem
bundler会创建pkg,setup等文件,这里根据自己的需要进行了改造和移动。
- bin 是二进制执行文件的位置,这里是把 rb 后缀移除的ruby文件
- lib 是源代码的位置。
- test 测试文件地址
- slt_xcodeproj_helper.gemspec 是 gem 个配置文件有人也叫它说明书。
2.2、编写 spec 文件
spec 文件是 gem 的核心配置文件,他描述了版本号,文件位置,可执行文件等。这是我编写的一个示例文件。
spec 实际是一个 ruby 文件,因此可以使用 ruby 的语法。
# coding: utf-8lib = File.expand_path('../lib', __FILE__)$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)require 'slt_xcodeproj_helper/version'
第一行表示编码方式,防止乱码
第二行和第三行加载 lib 中的 ruby 源文件。
第四行是引入版本的 ruby 文件,通过这个获取版本号。
spec.name = "slt_xcodeproj_helper"spec.version = SltXcodeprojHelper::VERSIONspec.authors = ["LiuShulong"]spec.email = ["bigfish_liu@126.com"]
这几行是gem作者版本号登记本信息,根据实际情况填写就可以了。name是gem的名字,对外发布的名字,观察了多个gem的命名方式,都是小写加_或者-。version 是版本号,发布后在改版如果没有意外都要改版本号,撤销需要使用 gem yank 命令。authors 是个数组可以填写多个。email 一般填写联系邮箱。
spec.summary = %q{sltset xcode settings}spec.description = %q{a commandline to sltset xcode project settings}spec.homepage = "https://github.com/LiuShulong/slt_xcodeproj_helper.git"spec.license = "MIT"
summary 和 description 填写项目的描述。homepage 我这直接用的项目地址。license 根据自己的情况填写。
spec.files = `git ls-files -z`.split("\x0").reject do |f| f.match(%r{^(test|spec|features)/}) endspec.bindir = "bin"spec.executables = "sltset"spec.require_paths = ["lib"]
files 表示 gem 包含的文件列表。除了默认的这种还有很多写法。本质是用 ruby 表示的文件列表。bindir 二进制文件夹名称。executables 二进制文件夹下可执行文件名称。这个必须是 ruby 文件。require_paths 表示启动的时候会把这个path加到 load_path 里。
spec.add_development_dependency "bundler", "~> 1.14" spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency "minitest", "~> 5.0" spec.add_development_dependency "xcodeproj",'~> 0'
项目的依赖。如果缺少这些依赖会报错。建议带上版本号。
3、编译 gem
gem build slt_xcodeproj_helper.gemspec
build 后面跟的是 gem 的名称。这时候会根据版本号生成一个压缩文件slt_xcodeproj_helper-0.1.0.gem。这个gem就是后面要发布的压缩文件。
4、提交gem
为了避免奇怪的问题,可以先把自己的gem提交到github上,然后执行下面的命令。 gem push slt_xcodeproj_helper-0.1.0.gem
如果是第一次会提示输入邮箱和密码,按照1注册的输入就可以了。
5、测试
gem install slt_xcodeproj_helper
查看是否与预期一致。
6、资料
如果创建自己的 gem
demo地址
- 发布一个自己的 gem
- 如何发布自己的Gem?
- 将自己写的gem发布到rubygems
- 创建自己的gem
- 如何制作自己的gem
- 制作自己的gem包
- 如何创建自己的ruby gem包
- ruby创建自己的gem包
- 关于cloud_foundry自己的ruby, gem, bundle
- 如何制作自己的Ruby gem
- 自己写的一个tomcat发布脚本
- 一个用于生成图表的gem: lazy_high_charts
- 解决一个问题,发布一个自己开发的小工具
- ruby ---创建自己的Ruby语言gem软件包
- 创建自己的gem并上传到github
- 用ASP.NET做一个自己的新闻发布RSS
- 在自己的电脑上通过IIS发布一个网页
- 发布一个自己写的企业站源码
- IOS-safari遇到的坑
- Appium安装
- POJ 1157 LITTLE SHOP OF FLOWERS 笔记
- java垃圾回收特点粗解
- Linux 正则表达式与文件处理
- 发布一个自己的 gem
- C++ RTTI的简单实现(二)
- JAVA基础(三)之JSP
- JAVA集合
- python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化
- 在Ubuntu14.04上安装OpenRAVE
- 理解Docker
- DPDK之(三)——收发包处理流程--网卡初始化
- 防止网页被嵌入框架的代码