【问题标题】:Rails Server Keeps Exiting (SocketError)Rails 服务器不断退出 (SocketError)
【发布时间】:2015-04-25 17:14:06
【问题描述】:

Rails 菜鸟在这里。我正在尝试完成 Michael Hartl 的 Ruby on Rails 教程,但是每次我运行 rails 服务器时,它都会一直退出并显示一个 SocketError。上周末,我能够使用初创公司的 wifi 很好地运行服务器,所以我猜这与我的互联网连接/防火墙有关?今天下午我在图书馆的服务器上也遇到了同样的问题。

感谢任何帮助!提前致谢。

=> 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-23 22:33:11] INFO  WEBrick 1.3.1
[2015-02-23 22:33:11] INFO  ruby 2.2.0 (2014-12-25) [x86_64-darwin14]
Exiting
/Users/awo/.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)

【问题讨论】:

    标签: ruby-on-rails terminal server


    【解决方案1】:

    我过去弄乱了我的 hosts 文件,删除并创建一个新的默认文件(包括 localhost)似乎可以解决问题。从here得到我的:

    ##
    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting. Do not change this entry.
    ##
    127.0.0.1   localhost
    255.255.255.255 broadcasthost
    ::1 localhost
    fe80::1%lo0 localhost
    

    我认为路径搞砸了,或者我的 /private/etc/hosts 文件中潜伏着一些忍者空格。

    【讨论】:

      【解决方案2】:

      我最近遇到了同样的问题,我通过将127.0.0.1 localhost 记录添加到private/etc/hosts 文件中解决了这个问题

      【讨论】:

        【解决方案3】:

        首先你需要识别rails服务器的端口号,所以运行下面的命令,给出在3000端口上运行的PID列表

        lsof -wni tcp:3000
        

        要杀死进程的PID列中的数字:

        kill -9 PID
        

        【讨论】:

        • kill -9 $(lsof -i tcp:3000 -t) 请试试这个。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多