2009-10-20 4 views
1

У меня проблема с Владом на окнах. После вызова rake vlad:deploy я получаю следующее: uninitialized constant Fcntl::F_SETFDRuby on rails deploy with Vlad на окнах

После прибегая к помощи на некоторое время я понял, что есть проблема с open4 драгоценным камнем, который не подходит для Windows, и я должен использовать popen4 камень вместо. Я установил его, но ничего не изменилось.

Как заставить vlad использовать popen4 вместо open4?

+0

Это ошибка. См. Здесь: http://rubyforge.org/tracker/?group_id = 4213 & atid = 16258 & func = detail & aid = 26816 – andHapp

+0

Эта ошибка связана с JRuby. Я не использую JRuby. –

ответ

1

Влад и Capistrano не предназначены для систем Microsoft Windows. Даже если вам удастся запустить его под Windows, вы найдете новые ограничения. Эти инструменты просто красивые фантики (грабли задач) для автоматизации SCM/SSH/SFTP задачи. Я знаю Capistrano использует xcopy.exe удаленно развертывать файлы, но is't, как мощный, как 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 потенциал, как это имеет незначительную поддержку.

1

Я не работал над этим. Некоторые из ресурсов, которые могут помочь вам решить вашу проблему.

open4 не работает в Windows - это только библиотека Unix. Для Windows есть popen4.

popen4 для окон

Он делает то же самое ..., но и для Windows. Не следует предупреждать, что возможность блокировки программы на полной трубке возможна на платформе Windows.

Discussions here

Надеется, что это помогает!

0

Я смог получить capistrano, работающий с окном 2008 r2, работающим Cygwin's sshd как услугой, но не удаленной_страницей vlad. Интересно, может ли remote_task портироваться для использования Ruby's Net :: SSH?

То, что я не был в состоянии сделать, это получить окна, чтобы позволить мне аутентификации с помощью открытых ключей вместо паролей ...

Смежные вопросы