我有一个我要重命名的宝石.它发布在RubyGems上.我最担心的是人们想要更新它.
我看到两条路,但是真的想听听那些重命名他们的宝石的人,他们是怎么做到的.
smart-cropper)smart-cropper为croptoelie(旧宝石)的依赖croptoelie我看到的一个问题是,它太透明了,人们可能不会意识到他们使用的宝石不再被维护.
另一个问题是版本控制变得更难:每次我发布一个新版本的renamed(smart-cropper)gem时,我都必须碰到旧版"metapackage"的版本,否则人们永远不会得到新版本.
我可以发送一个旧宝石的版本,只是抛出弃用警告,并发出一条消息,人们应该安装新的宝石.
我看到的问题是它可能非常具有侵入性,可能会让人们[1]完全脱离宝石.
还有其他选择吗?"RubyGems"中是否有内容可以满足更改名称的需要?
[1]并不是说有太多人在使用它; 因为这个名字很难找到.:)
use*_*833 27
您只需使用新名称推送新gem并告诉用户新名称.没有重命名宝石的机制.- RubyGems支持人员,2012年2月20日
为此,以下是一些提示(其中一些我认为你已经完成了).
例:
warn "[DEPRECATION] This gem has been renamed to _____ and will no longer be supported. Please switch to _____ as soon as possible."
Run Code Online (Sandbox Code Playgroud)
.gemspec文件中使用post_install_message属性在安装旧gem后显示消息.以下示例基于Heroku gem.
gem.post_install_message = <<-MESSAGE
! The '_____' gem has been deprecated and has been replaced by '_____'.
! See: https://rubygems.org/gems/_____
! And: https://github.com/_____/_____
MESSAGE
Run Code Online (Sandbox Code Playgroud)
-1-在页面顶部:向此存储库添加描述:(提供新名称)
Moved to ---> "_____".
Run Code Online (Sandbox Code Playgroud)
-2-在页面顶部:将网站添加到此存储库:(使其成为新存储库的URL)
https://github.com/_____/_____
Run Code Online (Sandbox Code Playgroud)
-3-上传新的README.markdown:
# OLD NAME
Moved to [new name](https://github.com/_____/_____).
Run Code Online (Sandbox Code Playgroud)
-4-考虑删除所有非必要文件.
.gemspec文件中在summaryor description属性的末尾包含以下通知:
Formerly known as '_____'.
Run Code Online (Sandbox Code Playgroud)
在某些遥远的地方,您可能想要从RubyGems中删除旧的gem.从RubyGems 1.3.6和gemcutter 0.5.0(大约2010年2月)开始,您可以使用gem install和其他gem命令gem yank来删除gem.但是,宝石仍可供下载,主要有两个原因:
| 归档时间: |
|
| 查看次数: |
4375 次 |
| 最近记录: |