Instalar en macOS – Error: Scheduler::Defer puede pausar y reanudar

He estado siguiendo Install Discourse on macOS for development. Lamentablemente, al ejecutar las pruebas con:

bundle exec rake autospec

obtengo el siguiente error:

Failures:

  1) Scheduler::Defer can pause and resume
     Failure/Error: @reactor&.stop
     
     ThreadError:
       killed thread
     # /Users/js/.rvm/gems/ruby-2.2.1/gems/message_bus-2.2.3/lib/message_bus/timer_thread.rb:48:in `wakeup'
     # /Users/js/.rvm/gems/ruby-2.2.1/gems/message_bus-2.2.3/lib/message_bus/timer_thread.rb:48:in `block in stop'
     # /Users/js/.rvm/gems/ruby-2.2.1/gems/message_bus-2.2.3/lib/message_bus/timer_thread.rb:46:in `synchronize'
     # /Users/js/.rvm/gems/ruby-2.2.1/gems/message_bus-2.2.3/lib/message_bus/timer_thread.rb:46:in `stop'
     # ./lib/scheduler/defer.rb:56:in `stop!'
     # ./spec/components/scheduler/defer_spec.rb:44:in `block (2 levels) in <main>'

Finished in 9 minutes 53 seconds (files took 25.84 seconds to load)
6460 examples, 1 failure, 4 pending

Failed examples:

rspec ./spec/components/scheduler/defer_spec.rb:67 # Scheduler::Defer can pause and resume

Inicialmente, tuve algunos problemas al instalar las dependencias ejecutando el script de instalación de la guía. Aunque creo que ya deberían estar todos resueltos.

¿Cómo puedo solucionar este problema?

¡Gracias!

Propósito de la instalación local
Por si es relevante: estoy intentando migrar desde un grupo de Google a una versión alojada de Discourse usando esta guía. La idea es configurar una versión local para realizar la migración localmente y luego subir la copia de seguridad a la versión alojada, ya que no tengo acceso root a la versión alojada.

Esa guía asume que estás utilizando una configuración basada en Docker. Deberías poder instalar Docker en macOS y seguir cada paso de esa guía.

Gracias, @gerhard.

El soporte de Discourse mencionó la guía para macOS como una opción en un correo electrónico. Pero también me señalaron la Guía para principiantes para instalar Discourse para desarrollo usando Docker. Básicamente, solo quiero terminar el trabajo de la manera más rápida. Acabo de revisar los precios de DigitalOcean y parecen mucho más asequibles de lo que esperaba.

¿Qué me recomiendas como la forma más rápida y sencilla?

¡Gracias!

DigitalOcean probablemente sea la opción más sencilla si tienes problemas para instalar Docker en macOS. Funciona y es bastante económico, considerando que solo necesitas el droplet por un corto período de tiempo.

Gracias.

Ahora he probado ambas opciones para macOS en la guía, pero encontré problemas. Dejé un comentario en la guía, pero finalmente lo dejé. Intentaré con DigitalOcean a continuación.

Esa versión de Ruby es demasiado antigua. Podrías intentar usar la más reciente.

Gracias. Eso es interesante. El script de instalación del guide instala específicamente la versión 2.6.5. No tengo idea de por qué aparece la 2.2.1.

Cuando ejecuto manualmente rbenv install 2.6.5 (como lo hace el script de instalación), esto es lo que se muestra:

rbenv: /Users/js/.rbenv/versions/2.6.5 ya existe

Por otro lado, ruby -v imprime:

ruby 2.7.0p0 (2019-12-25 revisión 647ee6f091) [x86_64-darwin17]

Pensé que los registros mostraban que se usa rvm. Así que rvm list imprime:

=* ruby-2.2.1 [ x86_64 ]
   ruby-2.5.0 [ x86_64 ]

Entonces ejecuté rvm install "ruby-2.6.5" y volví a intentar bundle exec rake autospec. Ahora muestra:

Traceback (most recent call last):

2: from /Users/js/.rvm/rubies/ruby-2.6.5/bin/bundle:23:in `<main>'

1: from /Users/js/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'

/Users/js/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': No se pudo encontrar 'bundler' (2.1.1) requerido por tu /Users/js/Documents/Aktuelle-Projekte/Openframe/discourse/Gemfile.lock. (Gem::GemNotFoundException)

Para actualizar a la última versión instalada en tu sistema, ejecuta `bundle update --bundler`.

Para instalar la versión faltante, ejecuta `gem install bundler:2.1.1`

… parece que no deberías tocar la versión de rvm, ¿o me estoy perdiendo algo?

… lo logré poner en marcha en Digital Ocean mientras tanto. Todos los demás métodos fallaron de alguna manera para mí.

Casi con certeza no es el problema ahora, pero puedes usar rvm use para especificar la versión de Ruby.

rvm use 2.6.5 --default