4

Я не нашел решение этой проблемы, однако кто-то уже спросить о той же проблеме несколько дней назад - (Rails Server Keeps Exiting (SocketError))сервер rails не может запускаться; getaddrinfo: имя_узел, ни servname при условии, или не известен (SocketError)

После того как я начать сервер rails система возвращает некоторую ошибку, которую я не могу понять. Для того, чтобы установить Ruby On Rails на мой макинтош я сделал все, как указано на http://railsapps.github.io/installrubyonrails-mac.html

вот мой терминал ответ:

$ rails server 
=> Booting WEBrick 
=> Rails 4.2.0 application starting in development on http://localhost:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
[2015-02-28 02:14:46] INFO WEBrick 1.3.1 
[2015-02-28 02:14:46] INFO ruby 2.2.0 (2014-12-25) [x86_64-darwin14] 
Exiting 
/Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/socket.rb:232:in `getaddrinfo': getaddrinfo: nodename nor servname provided, or not known (SocketError) 
    from /Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/socket.rb:232:in `foreach' 
    from /Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/socket.rb:459:in `tcp_server_sockets' 
    from /Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/webrick/utils.rb:70:in `create_listeners' 
    from /Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/webrick/server.rb:133:in `listen' 
    from /Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/webrick/server.rb:114:in `initialize' 
    from /Users/alexshel/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/webrick/httpserver.rb:45:in `initialize' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/rack-1.6.0/lib/rack/handler/webrick.rb:32:in `new' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/rack-1.6.0/lib/rack/handler/webrick.rb:32:in `run' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/rack-1.6.0/lib/rack/server.rb:286:in `start' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/server.rb:80:in `start' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:80:in `block in server' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>' 
    from /Users/alexshel/workspace/myapp/bin/rails:8:in `require' 
    from /Users/alexshel/workspace/myapp/bin/rails:8:in `<top (required)>' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/lib/spring/client/rails.rb:27:in `load' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/lib/spring/client/rails.rb:27:in `call' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/lib/spring/client/command.rb:7:in `call' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/lib/spring/client.rb:26:in `run' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/bin/spring:48:in `<top (required)>' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/lib/spring/binstub.rb:11:in `load' 
    from /Users/alexshel/.rvm/gems/[email protected]/gems/spring-1.3.3/lib/spring/binstub.rb:11:in `<top (required)>' 
    from /Users/alexshel/workspace/myapp/bin/spring:13:in `require' 
    from /Users/alexshel/workspace/myapp/bin/spring:13:in `<top (required)>' 
    from bin/rails:3:in `load' 
    from bin/rails:3:in `<main>' 

Пожалуйста, помогите.

+1

Возможно, какая-то странная вещь с локальным хостом. Можете ли вы ping localhost? –

+0

Кажется, у вас нет '' localhost'', определенного в файле '/ etc/hosts'. – dgilperez

+0

Да, я не могу ping localhost –

ответ

12

Проблема решена путем добавления 127.0.0.1 localhost записи в файл private/etc/hosts, который был удален по какой-либо причине ранее.

+0

Это уже было для меня, и у меня все еще есть проблема. – IIllIIll

1

Попытка изменения в UNIX Encoding:

brew install dos2unix 
sudo dos2unix -c mac /private/etc/hosts 
0

У меня была аналогичная проблема с Redis в среде рельсы. Я добавил номер порта и «Redis» в файл my/private/etc/hosts на моем mac, и он решил ошибку. Скажем, что ваш номер порта «1234», вы должны добавить: 1234 redis. В случае localhost вы добавите: 127.0.0.1 localhost. Надеюсь, это даст по крайней мере некоторые подсказки для вашей конкретной проблемы.

0

Для всех будущих пользователей, которые столкнулись с этой проблемой, я смог ее решить, добавив следующее в конец моего private/etc/hosts файла.

127.0.0.1 YOURNAME-MacBook-Pro.local

Update YOURNAME-MacBook-Pro к тому, что название вашей машины и, надеюсь, вы будете все.

Смежные вопросы