17

NPM 有能力阻止 gem 被发布。有没有办法做同样的事情并防止宝石被意外发布到 ruby​​gems?

4

1 回答 1

13

RubyGems 2.2.0最近才发布,增加了对此的支持。您需要设置allowed_push_host为您自己的 gem 服务器。该文档是这样描述的:

如果您想控制谁可以安装 gem,或者直接跟踪 gem 周围的活动,那么您需要设置一个私有 gem 服务器。您可以设置自己的 gem 服务器或使用 Gemfury 等商业服务。

RubyGems 2.2.0 和更新版本支持allowed_push_host元数据值以限制 gem 推送到单个主机。如果您要发布私有 gem,您应该设置此值以防止意外推送到 ruby​​gems.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
于 2014-01-03T16:57:50.853 回答