Nach OS Sierra Aktualisierung habe ich versucht, mit rspec spec
meiner lokalen Testsuite ausgeführt wird, diese sofort brach diese Stack-Trace geben:socket.gethostbyname derzeit keine lokalen Hostnamen finden, nachdem zu mac osx Aktualisierung sierra
Coverage report generated for RSpec to /Users/October/Documents/code/clients-api/coverage. 38/101 LOC (37.62%) covered.
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:94:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'torid'. (Bundler::GemRequireError)
Gem Load Error is: getaddrinfo: nodename nor servname provided, or not known
Backtrace for gem load error is:
/Users/October/.rvm/gems/[email protected]/gems/torid-1.2.4/lib/torid/generator.rb:73:in `gethostbyname'
/Users/October/.rvm/gems/[email protected]/gems/torid-1.2.4/lib/torid/generator.rb:73:in `create_node_id'
/Users/October/.rvm/gems/[email protected]/gems/torid-1.2.4/lib/torid/generator.rb:79:in `<class:Generator>'
/Users/October/.rvm/gems/[email protected]/gems/torid-1.2.4/lib/torid/generator.rb:21:in `<module:Torid>'
/Users/October/.rvm/gems/[email protected]/gems/torid-1.2.4/lib/torid/generator.rb:8:in `<top (required)>'
/Users/October/.rvm/gems/[email protected]/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
/Users/October/.rvm/gems/[email protected]/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
/Users/October/.rvm/gems/[email protected]/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
/Users/October/.rvm/gems/[email protected]/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
/Users/October/.rvm/gems/[email protected]/gems/torid-1.2.4/lib/torid.rb:22:in `<top (required)>'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:91:in `require'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:86:in `each'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:86:in `block in require'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:75:in `each'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler/runtime.rb:75:in `require'
/Users/October/.rvm/gems/[email protected]/gems/bundler-1.13.2/lib/bundler.rb:106:in `require'
/Users/October/Documents/code/clients-api/config/application.rb:16:in `<top (required)>'
/Users/October/Documents/code/clients-api/config/environment.rb:2:in `require'
/Users/October/Documents/code/clients-api/config/environment.rb:2:in `<top (required)>'
/Users/October/Documents/code/clients-api/spec/spec_helper.rb:6:in `require'
/Users/October/Documents/code/clients-api/spec/spec_helper.rb:6:in `<top (required)>'
/Users/October/Documents/code/clients-api/spec/consumers/postback_notifier_consumer_spec.rb:1:in `require_relative'
/Users/October/Documents/code/clients-api/spec/consumers/postback_notifier_consumer_spec.rb:1:in `<top (required)>'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `load'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `block in load_spec_files'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `each'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `load_spec_files'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:97:in `setup'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85:in `run'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in `run'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in `invoke'
/Users/October/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/exe/rspec:4:in `<top (required)>'
/Users/October/.rvm/gems/[email protected]/bin/rspec:23:in `load'
/Users/October/.rvm/gems/[email protected]/bin/rspec:23:in `<main>'
/Users/October/.rvm/gems/[email protected]/bin/ruby_executable_hooks:15:in `eval'
/Users/October/.rvm/gems/[email protected]/bin/ruby_executable_hooks:15:in `<main>'
ich weiter im Inneren des torid
gem suchten den Code-Block zu finden, die versagt:
def self.create_node_id(pid = Process.pid)
hostname = Socket.gethostbyname(Socket.gethostname).first
random = SecureRandom.hex(16)
FNV.new.fnv1a_64("#{hostname}-#{pid}-#{random}")
end
Wenn ich es mit byebug inspiziert:
(byebug)hostname = Socket.gethostbyname(Socket.gethostname).first
=>(byebug)SocketError Exception: getaddrinfo: nodename nor servname provided, or not known
nil
Auch gethostname
den richtigen Hostnamen zurückgibt:
(byebug)Socket.gethostname
=>(byebug) "OctobersMac"
An dieser Stelle habe ich versucht, wieder zu installieren homebrew
, postgres
, xcode
, rvm
und ruby
. Ich stellte auch sicher, dass mein hostname zu OctobersMac eingestellt wurde. Es wird seltsam, dass wenn ich meine Ports nach diesem Hostnamen überprüfe, keine offen sind. Ich setze es mit scutil --get HostName
und es wird korrekt zurückgegeben. Ich habe auch keine Firewalls eingerichtet.
Ich öffnete zwei andere Apps und lief rspec spec
, nur um sicher zu sein, dass es nicht nur eine App war. Der kam zum ersten Mal wieder mit der exakt gleichen Fehler und der zweite bekam einen anderen Fehler, obwohl ich das Gefühl habe, es hat etwas mit der ursprünglichen Frage zu tun:
OctobersMac:community October$ rspec spec
"Railtie has run for Postgis!!!!"
/Users/October/.rvm/gems/[email protected]/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `initialize': could not connect to server: Connection refused (PG::ConnectionBad)
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `new'
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `connect'
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:242:in `initialize'
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-postgis-adapter-3.0.0/lib/active_record/connection_adapters/postgis_adapter.rb:51:in `initialize'
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-postgis-adapter-3.0.0/lib/active_record/connection_adapters/postgis/create_connection.rb:38:in `new'
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-postgis-adapter-3.0.0/lib/active_record/connection_adapters/postgis/create_connection.rb:38:in `postgis_connection'
from /Users/October/.rvm/gems/[email protected]/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
Hat jemand eine Ahnung, was hier vor sich geht? Ich bin am Ende meines Seils und Google hat nicht viel zu verwandten Themen zu Mac OsX Sierra. Vielen Dank für die Zeit, die Sie für mein Problem haben können.
Die Frage sprachunabhängig zu sein scheint: http://stackoverflow.com/questions/39970606/gaierror-errno-8-nodename- nor-servname-bereitgestellt-oder-nicht-bekannt-mit-macos-sie – Vovanrock2002
Sie können ein C-Programm schreiben, das Socket.Gethostbyname (Socket.Gethostname) tut und sehen, ob es funktioniert. Wenn nicht, einen Fehler bei Apple einreichen und versuchen, von 'gethostbyname' zu' getaddrinfo' zu wechseln - letzteres ist veraltet. Wenn das C-Programm funktioniert, melden Sie einen Fehler in der Ruby-Community. – Vovanrock2002
Hier ist ein C-Programm, das Leute verwenden können, um ihre Namenssuche auf Sierra https://gist.github.com/copiousfreetime/44a950fb0fa8896450af75f919dbe7f1 zu testen – copiousfreetime