2009-08-29 554 views
2

我知道mongrel是「腳本/服務器」的默認服務器,但是當我執行該命令時,我得到了webrick。 (我之前和混血兒一起工作過)。現在當我說的是使用雜種(「腳本/服務器雜種」)時,服務器無法在終端中啓動。我得到這個:Ruby on rails:啓動雜服服務器

$ script/server mongrel 
^C/Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/gems.rb:11:in `require': Interrupt 
    from /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:17 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' 
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:156:in `require' 
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:521:in `new_constants_in' 
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:156:in `require' 
    from /Library/Ruby/Gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:1 
    from /Library/Ruby/Gems/1.8/gems/rack-1.0.0/lib/rack/handler.rb:17:in `const_get' 
    from /Library/Ruby/Gems/1.8/gems/rack-1.0.0/lib/rack/handler.rb:17:in `get' 
    from /Library/Ruby/Gems/1.8/gems/rack-1.0.0/lib/rack/handler.rb:17:in `each' 
    from /Library/Ruby/Gems/1.8/gems/rack-1.0.0/lib/rack/handler.rb:17:in `get' 
    from /Users/devinross14/.gem/ruby/1.8/gems/rails-2.3.3/lib/commands/server.rb:45 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' 
    from script/server:3 

我剛剛升級到雪豹是否有幫助?

回答

6

它花了一段時間,但我終於得到了雜草(1.1.5)在雪豹工作。這很容易做到:

sudo gem uninstall mongrel 
sudo gem uninstall fastthread 
sudo gem install mongrel 

似乎fastthread也需要重新編譯以及。

4

我設法讓它在沒有從源代碼安裝mongrel的情況下工作。我所要做的只是重新安裝寶石。

或者您可以使用薄,這是一個雜種的選擇:

sudo gem install thin 
thin start 

這可能讓你在此期間去而雪豹塵埃落定。

+0

真棒小費 - 謝謝! – Jarsen 2009-08-29 21:55:09

0

我發現重新安裝所有的寶石似乎已經解決了我的問題。通過按照此鏈接的終端命令善:http://geekystuff.net/2009/1/14/remove-all-ruby-gems

更換所有的卸載雖與安裝命令命令:

gem list | cut -d" " -f1 | xargs sudo gem install 

請記住這個安裝最新的一切,所以如果你有一個特定版本你需要那麼你可能需要相應地調整一些東西。

0

與開發者服務器沒有戲劇最簡單的方法是使用nginx或apache的乘客。然後,您可以真正輕鬆地在開發模式下運行幾個應用程序,而不必在命令行上搞亂,看看哪些正在運行。

0

的第一個評論是不壞,但它爲我工作:

$ sudo gem uninstall mongrel 
$ sudo gem uninstall fastthread 
$ sudo gem install mongrel 
$ sudo gem install fastthread 

刪除所有寶石都被恢復。

似乎OS X複製的寶石,同時更新,無論是在列表的兩倍...

2

要啓動雜種服務器的命令是 軌服務器雜種。 啓動在網絡上閃動的雜種服務器的命令不起作用