2012-10-01 65 views
2

我正在開發一個引擎(部署爲gem),我直接在我的主機應用程序中使用它。當我通過Rails,Spork&Guard:如何並行運行多個spork服務器?

gem 'my_gem', path: 'some/local/path' 

加載它在發動機的所有變化都直接體現在無需重新啓動服務器我的主機應用程序。到現在爲止還挺好。

我使用着名的Spork & Guard組合來開發和測試我的Rails應用程序。到現在爲止,我從來不需要運行多個警衛流程,因爲我之前沒有開發引擎。但現在,我有一個主機應用程序和一個並行開發的引擎,所以我需要每個Spork & Guard組合在同一時間運行。

不幸的是,這似乎不起作用,因爲Guard使用Spork的標準端口。有沒有什麼辦法告訴Guard,它在啓動spork時應該使用哪個端口?

回答

2

在你guardfile:

guard 'spork', :rspec_port => 12345 do 
    # ... 
    watch('spec/spec_helper.rb') { :rspec } 
end 

guard 'rspec', :cli => "--drb --drb-port 12345" do 
    # ... 
end 
+0

這工作,但只有啓動的最新後衛實際上連接到drb。看來每個剛剛起步的警衛都會阻止已經運行的警衛連接到drb。對此有何想法?你能證實這種行爲嗎? –

+0

它應該是'guard'spork',:rspec_port => 12345 do',我糾正了你的答案。 –

相關問題