В этой документации сказано, что
fork (2) недоступен на некоторых платформах, таких как Windows и NetBSD 4. Поэтому вам следует использовать spawn ( ) вместо fork ().
Итак, ваша жемчужина для тестирования пытается вызвать эту функцию. Вам нужно открыть гем ruby в текстовом редакторе и изменить скрипт, в котором написана функция fork () , заменив spawn () . Из этого:
static VALUE
rb_f_fork(VALUE obj)
{
rb_pid_t pid;
switch (pid = rb_fork_ruby(NULL)) {
case 0:
rb_thread_atfork();
if (rb_block_given_p()) {
int status;
rb_protect(rb_yield, Qundef, &status);
ruby_stop(status);
}
return Qnil;
case -1:
rb_sys_fail("fork(2)");
return Qnil;
default:
return PIDT2NUM(pid);
}
}
К этому
static VALUE
rb_f_fork(VALUE obj)
{
rb_pid_t pid;
switch (pid = rb_fork_ruby(NULL)) {
case 0:
rb_thread_atfork();
if (rb_block_given_p()) {
int status;
rb_protect(rb_yield, Qundef, &status);
ruby_stop(status);
}
return Qnil;
case -1:
rb_sys_fail("spawn(2)");
return Qnil;
default:
return PIDT2NUM(pid);
}
}
В качестве альтернативы вы можете протестировать интеграцию, сохранив отдельную копию вашего приложения rails в среде windows: клонируйте ее из своего github
git clone <the path for your remote repository>
А затем в своем гем-файле раскомментируйте драгоценные камни под последней строкой, где сказано:
Windows does not have ...
От это #gem zinfo [...]
К этому:
gem zinfo [...]
Последним запустите
bundle install
для обновления ваш lock.gemfile.