NPM有能力阻止宝石出版。有没有办法做同样的事情,并防止宝石意外发布到rubygems?
答案 0 :(得分:13)
RubyGems 2.2.0最近刚刚发布,这增加了对此的支持。您需要将allowed_push_host
设置为您自己的gem服务器。 documentation因此描述了它:
如果您想控制谁可以安装gem,或者直接跟踪gem周围的活动,那么您将需要设置一个私有gem服务器。您可以设置自己的gem服务器或使用商业服务,例如Gemfury。
RubyGems 2.2.0和更新版本支持
allowed_push_host
元数据值以限制gem推送到单个主机。如果您要发布私有宝石,则应设置此值以防止意外推送到rubygems.org:
Gem::Specification.new 'my_gem', '1.0' do |s|
# ...
s.metadata['allowed_push_host'] = 'https://gems.my-company.example'
end
要升级RubyGems,只需运行以下命令:
gem update --system