1

我从 2007 年的一本书中的 Rails 教程中制作了基本博客演示。我意识到它已经过时了,所以我删除了我制作的博客并开始从这里的教程中重做它:http: //guides.rubyonrails.org/getting_started.html #创建博客应用程序

我从头开始,现在我在该链接的说明上停留在 4.3,因为当我输入时,http://localhost:3000/我不断得到 Rails 的默认屏幕,而不是“你好,Rails!” 就像我应该说的那样。

4.3的说明是输入

rm public/index.html

然后访问 routes.rb 文件以取消注释 root to: 部分,以便它说

root :to => "welcome#index"

我继续迁移和所有这些,但我仍然保持默认屏幕。

然后我输入

rails server -d

看看这是否有效,但没有。它只是说这仅以第二个 => 结尾:

blog ❯ rails server -d
=> Booting WEBrick
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000

如果我只是输入

rails server

我在终端中收到一条错误消息,内容如下:

blog ❯ rails server

=> Booting WEBrick

=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000

=> Call with -d to detach

=> Ctrl-C to shutdown server

[2012-05-28 17:42:34] INFO  WEBrick 1.3.1

[2012-05-28 17:42:34] INFO  ruby 1.9.3 (2012-02-16) [x86_64-darwin11.3.0]

[2012-05-28 17:42:34] WARN  TCPServer Error: Address already in use - bind(2)
Exiting

/Users/Nick/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/utils.rb:85:in     `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
from /Users/Nick/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/utils.rb:85:in `new'

如果有人要我粘贴其余的错误,我会继续这样做。

我不知道该怎么做才能解决这个问题。

谢谢你的帮助

4

1 回答 1

8

TCPServer 错误:地址已在使用中 - 绑定 (2)

正在发生两件事之一:

  1. 您已经有一个 WEBrick 服务器在端口 3000 上的其他地方运行。在启动新服务器之前将其终止。
  2. 其他一些进程正在侦听端口 3000

第一次这样做时rails server -d,您启动了一个正在占用端口 3000 的后台 WEBrick 服务。找到正在运行的进程并通过以下方式将其杀死:

ps aux | grep ruby
kill  [PID from above]

然后重新启动您的 WEBrick,只需rails server. 此时,已经删除了 public/index.html,你的路由应该是活跃的并且可以工作的。

于 2012-05-28T22:13:37.043 回答