在Heroku上的Gemfile中自定义Ruby Gem

我修改了我在Rails应用程序中使用的Gem,需要在Heroku上使用它。 有没有办法在我的应用程序中将修改后的Gem上传到Heroku并在我的Gemfile中指定自定义路径?

您可以在vendor目录中放置自定义gem,然后在Gemfile中指定它们:

gem 'gemname', '1.0', :path => 'vendor/gemname'

在Gemfile中:gem’blah gem 'blah', :git => 'https://github.com/XXX/YYY.git'

  1. 把它叉在github上
  2. 在Gemfile中指定gem依赖项时,使用:git选项将应用程序指向修改后的gem

您可以设置Geminabox等自定义gem服务器。 不幸的是,它是专为LAN设计的,没有内置的身份validation。 您可以通过Rack :: Auth中间件保护它,或使用Rack :: Mount将其连接到秘密路径。 如果这太繁琐,你可以使用像Gemfury这样的私人gem托管服务(免责声明:我在这项服务上工作)。 完成其中任一设置后,只需将以下内容添加到Gemfile:

 source 'https://custom-gem-server.com/secret-token/'