Capistrano & Ruby 'require' LoadError: cannot load such file -- 'net-http-persistent'

Capistrano & Ruby 'require' LoadError: cannot load such file -- 'net-http-persistent'

我有一个自定义 gem,它只发布到 Github,而不是 rubygems.org,并更新了它的依赖项以包含 gem 'net-http-persistent'。

我遵循了我之前为我的其他依赖项所做的相同格式(使用 .gemspec 文件),并且 bundle update 仍然工作得很好。但是,现在当我尝试使用 Capistrano 将主应用程序(包括我的自定义 gem)部署到我的登台服务器时,我遇到了这个错误:

DEBUG [20cee5f9] Command: cd /var/www/inside/releases/20160418182647 && ( RAILS_ENV=staging ~/.rvm/bin/rvm 2.1.0@rails4.1 do bundle exec rake assets:precompile )
DEBUG [20cee5f9]    rake aborted!
DEBUG [20cee5f9]    LoadError: cannot load such file -- net-http-persistent
DEBUG [20cee5f9]    /var/www/inside/shared/bundle/ruby/2.1.0/bundler/gems/series25-5465e368ff56/lib/series25.rb:4:in `require'
DEBUG [20cee5f9]    /var/www/inside/shared/bundle/ruby/2.1.0/bundler/gems/series25-5465e368ff56/lib/series25.rb:4:in `<top (required)>'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `require'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `each'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `block in require'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `each'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `require'
DEBUG [20cee5f9]    /home/charles/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.6.2/lib/bundler.rb:132:in `require'
DEBUG [20cee5f9]    /var/www/inside/releases/20160418182647/config/application.rb:9:in `<top (required)>'
DEBUG [20cee5f9]    /var/www/inside/releases/20160418182647/Rakefile:4:in `require'
DEBUG [20cee5f9]    /var/www/inside/releases/20160418182647/Rakefile:4:in `<top (required)>'
DEBUG [20cee5f9]    (See full trace by running task with --trace)
cap aborted!

我已经能够通过简单地 运行 rake assets:precompile 在本地复制错误。我尝试了许多潜在的修复方法,包括在本地安装 net-http-persistent 并将其添加到我的 Gemfile,但无济于事。

这是自定义 gem 目前在我的 gem 文件中的样子:

gem 'series25', git: 'git://github.com/chapmanu/series25.git'

我做这个问题有点匆忙,所以如果我遗漏了任何相关信息,请告诉我。提前感谢您的帮助!

事实证明,虽然 gemspec 文件需要 spec.add_dependency 'net-http-persistent',但我在其中放置了所有 require 语句的文件(在我的情况下,在大多数情况下,类似于 lib/mygem.rb ) 需要 require 'net/http/persistent'.

当然是针对我的情况gem,但希望对在某些时候遇到类似问题的其他人有用。