我在Windows上遇到Vlad問題。調用rake vlad:deploy
後,我得到以下幾點: uninitialized constant Fcntl::F_SETFD
在窗戶上用Vlad實現Ruby on rails部署
Google上搜尋了一段時間後,我想通了,有一個與OPEN4寶石的問題,不適合用於Windows和我應該使用popen4寶石來代替。 我安裝了它,但沒有任何改變。
如何強制vlad使用popen4而不是open4?
我在Windows上遇到Vlad問題。調用rake vlad:deploy
後,我得到以下幾點: uninitialized constant Fcntl::F_SETFD
在窗戶上用Vlad實現Ruby on rails部署
Google上搜尋了一段時間後,我想通了,有一個與OPEN4寶石的問題,不適合用於Windows和我應該使用popen4寶石來代替。 我安裝了它,但沒有任何改變。
如何強制vlad使用popen4而不是open4?
弗拉德和Capistrano的不用於的Microsoft Windows系統。即使您設法使其在Windows下運行,您也會發現新的限制。這些工具對於自動化SCM/SSH/SFTP任務剛剛好包裝(耙任務)。我知道Capistrano的使用XCOPY.EXE遠程部署的文件,但它豈不等於那樣強大rsync的或SCP。
如果您仍然感興趣,open4依賴關係在源代碼上進行了硬編碼,唯一讓它運行的方法是通過黑客入侵代碼。
http://hitsquad.rubyforge.org/svn/vlad/2.0.0/lib/rake_remote_task.rb
...
require 'open4'
...
##
# Rake::RemoteTask is a subclass of Rake::Task that adds
# remote_actions that execute in parallel on multiple hosts via ssh.
class Rake::RemoteTask < Rake::Task
@@current_roles = []
include Open4
...
順便說一句,使用Capistrano的將簡化你的生活,但作爲標榜不要指望充分Capistrano的潛力,因爲它有輕微的支持。
我還沒有處理它。一些可能會幫助你解決問題的資源。
open4將無法在Windows上工作 - 它是一個Unix只有庫。對於 Windows有popen4。
popen4窗戶
它做同樣的事情......但適用於Windows。需要預先警告的是,在Windows平臺上, 可能會在完整管道上阻塞程序。
希望這有助於!
我能夠得到capistrano作爲一個服務運行在一個windows 2008 r2框中運行Cygwin's sshd,但不是vlad的remote_task。我想知道是否可以移植remote_task來代替使用Ruby的Net :: SSH?
我沒有能夠做的就是窗戶,讓我通過公共密鑰而不是密碼驗證...
這是一個錯誤。看到這裏:http://rubyforge.org/tracker/?group_id = 4213&atid = 16258&func = detail&aid = 26816 – andHapp 2009-10-25 15:39:23
此錯誤與JRuby有關。我沒有使用JRuby。 – 2009-10-28 08:57:57