前置工作:
- 检查文件完整
- 确保
.gemspec
文件信息无误,必要信息完整
通过终端登录 RubyGems
前置要求:
- .gemrc 中配置的源必须是 rubygems.org(检查当前源命令
gem sources -l
),配置方式如下:
|
|
- 如果电脑无法访问 rubygems.org 或者访问慢,终端就需要加上代理
第一次使用发布功能需要先登录,在终端中运行:
|
|
设置说明
- Email: 输入你rubygems账号,如果没有注册先注册 https://rubygems.org/sign_up
- Password: 输入你的rubygems密码
- API Key name [******]: 会为当前电脑创建一个密钥文件,这里是输入密钥的名称,可以随意输入,在 rubygems 可以查看和管理,相当于就是api-key的名称。
- 权限设置,可以先随意设置,后面可以去rubygems修改,输入y或者n然后回车(y是启用,n是禁用),show_dashboard 必须选 n ,否则无法完成
- index_rubygems 必须输入y
- push_rubygem 推送gem,必须输入y
- yank_rubygem 移除gem,建议n
- add_owner 新增用户,建议n
- remove_owner 移除用户,建议n
- access_webhooks 存取webhooks,建议n
当返回 Signed in with API key: *****
表示登录成功
常见错误
账号密码错误或者源不是https://rubygems.org/,小概率是网络问题可能需要使用代理:
|
|
网络问题可能需要使用代理:
ERROR: While executing gem ... (Net::OpenTimeout)
构建 gem 包
请将 项目名称
换成你的项目名称和 .gemspec
中的 spec.name
一致。
|
|
比如我的项目名称是jekyll-baidu-push
那我的命令是 gem build jekyll-baidu-push.gemspec
执行成功后会生成一个 .gem
文件,命名是spec.name
+ spec.version
,例如 [jekyll-baidu-push-0.1.0.ge](http://jekyll-baidu-push-0.1.0.ge/)m
发布 gem 到 rubygems.org
jekyll-baidu-push-0.1.0.gem
是文件名,对应刚才生成的文件。请修改为你自己的文件名。
|
|
返回 Successfully registered gem: jekyll-baidu-push (0.1.0)
表示推送(上传)成功
小贴士
升级版本:必须提升 version,否则无法发布。
.gitignore:忽略文件推荐:
|
|
我的第一个 gem
- jekyll-baidu-push Jekyll plugin to push URLs to Baidu. 每次构建的时候将 Jekyll 的链接推送到百度搜索索引。
转载请注明转自:一极乐( https://yijile.com/zh/publish-your-first-ruby-gem-to-rubygemsorg/ )
本文采用 CC BY-NC-SA 4.0方式授权。
转载请注明出处和本文链接,说明是否进行修改,不得用于商业用途,使用相同方式共享。