2014-10-03 46 views
1

我寫了一個Ruby腳本,在它的執行過程中,它會運行bundle install來從Gemfile安裝gems。這是有關部分:如何顯示從另一個Ruby腳本實時啓動的腳本的輸出?

puts "installing gems ..." 
puts `bundle install --without production` 
puts "gems installed." 

這裏會發生什麼事是,雖然得到正確執行bundle install命令,我只看到一次,所有的寶石都被安裝在CLI輸出。這意味着我首先得到installing gems ...,然後它等待,我將所有輸出行bundle install加上gems installed消息一起。

有沒有辦法在執行時實時顯示bundle install的輸出?

回答

1

一種選擇是使用Kernel#system,而不是反引號的:

system "bundle install --without production" 
+0

真棒!它完全符合我的需求。我確定反引號和「系統」是別名,但很顯然,我完全錯了。謝謝。 – 2014-10-03 08:45:09

相關問題