2012-05-28 145 views
1

我從一個軌道教程基本博客演示在一本書從2007年開始,我意識到它是過時的,所以我刪除了我所做的博客,並開始從一個教程在這裏重做:http://guides.rubyonrails.org/getting_started.html#creating-the-blog-application基本路由問題和Rails

我從頭開始,現在我在4.3的鏈接說明上停滯不前,因爲當我輸入http://localhost:3000/時,我不斷得到Rails的默認屏幕,而不是「Hello,Rails!」。像嘖嘖說我應該。

上4.3說明在

rm public/index.html 

輸入,然後訪問的routes.rb文件,取消對根:部分,因此,它說

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' 

如果有人要我粘貼錯誤的其餘部分,我會繼續這樣做。

我不知道該從這裏做什麼來解決這個問題。

感謝您的幫助

回答

8

TCPServer Error: Address already in use - bind(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,你的路線應該是活躍的並且正在工作。

+0

什麼是PID?以下是使用第一條命令輸出的內容: –

+0

博客❯ps aux | grep ruby​​⏎ 尼克76817 0.0 1.5 2526352 63420 ?? S 5:42 PM 0:01.14 /Users/Nick/.rvm/rubies/ruby-1.9.3-p125/bin/ruby script/rails server -d Nick 77597 0.0 0.0 2434892 424 s000 R + 6:20 PM 0:00.00 grep ruby –

+0

@ ninja08進程ID - 通常是用戶名後面的'ps aux'輸出的第一個數字。在你的輸出中,它是76817.第二個是你檢查過程的過程:) –