在Rails应用程序中启动Ruby Gem版本控制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Rails应用程序中启动Ruby Gem版本控制相关的知识,希望对你有一定的参考价值。

我有一个Rails应用程序指向一个在github上的gem(尚未推送到Ruby Gems)并且它还没有版本化所以当我运行bundle时它看起来像这样:

 gem (0.0.0) from git@github.com:company/gem.git (at master)

我一直在研究gem的变化,并希望开始对它进行版本控制,所以当我推动掌握它并不会破坏依赖于前一个gem的Rails应用程序中的功能。我不够复杂,不能使宝石向后兼容所以我认为版本控制将是处理这个问题的最佳方法。

我正在寻找有关如何开始对这个gem进行版本控制的建议,是否只是将gemspec更改为0.0.1然后更改我的Rails应用程序中的gemfile指向它?

答案

根据semantic versioning,您应该从0.1.0开始,并为任何不向后兼容的更新增加MAJOR版本,如果它只引入新功能但是向后兼容则为MINOR版本,如果是错误修复等,则为TINY版本。

也就是说,如果您只通过GitHub托管,您只需将gemspec版本更改为您的首选项,并为该提交添加标记。添加标签可以在您转移到其他版本后轻松在GitHub中找到正确的版本 - 例如,如果使用Bundler,您的Gemfile条目将如下所示:

gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0'

您也可以使用以下(冗长)命令集来执行此操作而不使用bundler:

git clone git://github.com/your-repo/your-gem.git
cd your-gem
git checkout v0.1.0
gem build your-gem.gemspec
gem install your-gem-0.1.0.gem

如果您打算通过http://rubygems.org主持,您需要自己创建一个帐户,然后将新版本推送到那里。 Rubygems将检测gemspec中的版本并使用更标准的Gemfile条目格式提供它:

gem 'your-gem', '=0.1.0'

或者使用gem命令:

gem install your-gem -v '=0.1.0'

以上是关于在Rails应用程序中启动Ruby Gem版本控制的主要内容,如果未能解决你的问题,请参考以下文章

如何将Rails的静态页面打包成ruby gem?

无法在 gem Devise 中调整控制器,ruby on rails 4

在 Rails 控制器中包含库时,Paypal SDK Ruby 错误

在特定版本中安装ruby gem

gem mysql2未安装在rails上的ruby上[重复]

如何在 ruby​​ on rails 的亚马逊 aws 服务器中使用 gem 执行 rake 任务?