【问题标题】:Git push to heroku error: Push rejected, failed to compile Ruby appGit推送到heroku错误:推送被拒绝,无法编译Ruby应用程序
【发布时间】:2016-01-13 22:34:21
【问题描述】:

我对此进行了广泛的谷歌搜索,并看到了上述错误的许多实例。

这可能是由任何/许多事情引起的,我所看到的是最有可能在跟踪中找到原因。

但是,我不知道是什么导致了我自己的错误,即使从跟踪中也是如此。

然而,我注意到的是一行:

SocketError: getaddrinfo: Name or service not known

据我了解,这与在线连接资源失败有关。在这种情况下,这个资源是什么,我不知道。

PS:这一直在处理以前的推送。 (之前对这个 repo 的推送没有出现任何故障)

以下是我的日志跟踪中显示错误的部分。

remote:        Bundle completed (61.86s)
remote:        Cleaning up the bundler cache.
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        rake aborted!
remote:        SocketError: getaddrinfo: Name or service not known
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:152:in `getaddrinfo'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:152:in `connect'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:211:in `connect'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:322:in `establish_connection'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:94:in `block in connect'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:279:in `with_reconnect'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:93:in `connect'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:350:in `ensure_connected'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:207:in `block in process'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:292:in `logging'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:206:in `process'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/client.rb:112:in `call'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis.rb:1320:in `block in smembers'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis.rb:37:in `block in synchronize'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis.rb:37:in `synchronize'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis.rb:1319:in `smembers'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/flipper-redis-0.7.0/lib/flipper/adapters/redis.rb:26:in `features'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/flipper-0.7.0/lib/flipper/adapters/instrumented.rb:36:in `block in features'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/flipper-0.7.0/lib/flipper/instrumenters/noop.rb:5:in `instrument'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/flipper-0.7.0/lib/flipper/adapters/instrumented.rb:35:in `features'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/flipper-0.7.0/lib/flipper/adapters/memoizable.rb:28:in `features'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/flipper-0.7.0/lib/flipper/dsl.rb:230:in `features
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/config/initializers/flipper.rb:10:in `<top (required)>'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:268:in `load'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:268:in `block in load'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:240:in `load_dependency'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:268:in `load'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:652:in `block in load_config_initializer'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/notifications.rb:166:in `instrument'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:651:in `load_config_initializer'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:615:in `each'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:615:in `block in <class:Engine>'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:30:in `instance_exec'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:30:in `run'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:55:in `block in run_initializers'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:44:in `each'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:44:in `tsort_each_child'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:54:in `run_initializers'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application.rb:352:in `initialize!'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/config/environment.rb:5:in `<top (required)>'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `require'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `block in require'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:240:in `load_dependency'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `require'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application.rb:328:in `require_environment!'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application.rb:457:in `block in run_tasks_blocks'
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.3.1/lib/sprockets/rails/task.rb:64:in `block (2 levels) in define'
remote:        Tasks: TOP => environment
remote:        (See full trace by running task with --trace)
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote: 
remote:  !     Push rejected, failed to compile Ruby app
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to oge-resilience-staging.
remote: 
To git@heroku.com:*****'
 ! [remote rejected] dev -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:*****'

flipper.rb

require 'flipper/adapters/redis'

flipper_redis_options = {}
flipper_redis_options[:url] = ENV['BOXEN_REDIS_URL'] || ENV['REDISCLOUD_URL']
flipper_redis_client = Redis.new(flipper_redis_options)
flipper_adapter = Flipper::Adapters::Redis.new(flipper_redis_client)

FLIPPER = Flipper.new(flipper_adapter)

unless FLIPPER.features.to_a.detect{|feature| feature.name == "resilience_enabled" }
  FLIPPER[:resilience_enabled].disable
end

我想了解这里的问题是什么,以及如何解决。谢谢。

【问题讨论】:

  • config/initializers/flipper.rb 中有什么代码?特别是在第 10 行。
  • 用我的config/initializers/flipper.rb? 文件更新了问题。

标签: ruby-on-rails heroku deployment stack-trace


【解决方案1】:
remote:        SocketError: getaddrinfo: Name or service not known
remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/vendor/bundle/ruby/2.0.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:152:in `getaddrinfo'

看起来您的应用正在尝试在以下初始化程序中连接到 Redis

remote:        /tmp/build_96c4b997594af6741a41839fe335a90a/config/initializers/flipper.rb:10:in `<top (required)>'

但 Redis 服务器不可用(或无效)。

【讨论】:

  • 好的,谢谢。那么在这种情况下,前进的方向是什么?
  • 您需要修复连接配置并确保您使用的是有效的 Redis 实例。
  • 你的配置中的问题很可能是你的heroku服务器上没有设置环境变量:ENV['BOXEN_REDIS_URL']ENV['REDISCLOUD_URL']
猜你喜欢
  • 2014-02-08
  • 2023-03-07
  • 2017-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 2014-04-14
相关资源
最近更新 更多