将 Ruby 个 gem 推送到自己的服务器,以便公开访问

Pushing Ruby gems to own server so that it is publicly accessible

有什么方法可以将Ruby gem推送到自己的服务器吗?我想让它公开访问(通过外部应用程序)。我试过使用 geminabox,但我读到 geminabox 设置了一个服务器来在我的组织内托管 gem。请提出建议。

提前致谢。

使用服务器中的 GEMS

使用 gem 源命令将 gem 服务器添加到系统范围的 gem 源。

gem sources --add http://localhost:9292

然后照常安装 gems:

gem install secretgem
Successfully installed secretgem-0.0.1 1 gem installed

如果您使用的是 Bundler,那么您可以在 Gemfile 中将此服务器指定为 gem 源:

cat Gemfile
source "http://localhost:9292"
gem "secretgem"
bundle
Using secretgem (0.0.1)
Using bundler (1.0.13)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

摘自RubyGems Guides

您可以使用 geminabox 或更简单的 gem 服务器,只需创建代理(使用 nginx) 并且您可以在全球范围内为您的 gem 服务,您的客户应该在他们的 Gemfile 中设置来源 "your server "。