Instalar no macOS – Falha: Scheduler::Defer pode pausar e retomar

Tenho acompanhado o Install Discourse on macOS for development. Infelizmente, ao executar os testes com:

bundle exec rake autospec
Falhas:

  1) Scheduler::Defer pode pausar e retomar
     Erro ao executar: @reactor&.stop
     
     ThreadError:
       thread killed
     # /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>'

Finalizado em 9 minutos e 53 segundos (os arquivos levaram 25,84 segundos para carregar)
6460 exemplos, 1 falha, 4 pendentes

Exemplos com falha:

rspec ./spec/components/scheduler/defer_spec.rb:67 # Scheduler::Defer pode pausar e retomar

Inicialmente, tive alguns problemas ao instalar as dependências executando o script de instalação do guia. Mas acho que todos já foram resolvidos.

Como posso corrigir esse problema?

Obrigado!

Objetivo da instalação local
Caso seja relevante: estou tentando migrar de um Google Group para uma versão hospedada do Discourse usando este guia. A ideia é configurar uma versão local para realizar a migração localmente e depois fazer o upload do backup para a versão hospedada, já que não tenho acesso root à versão hospedada.

Esse guia pressupõe que você esteja usando uma configuração baseada em Docker. Você deve conseguir instalar o Docker no macOS e seguir cada etapa desse guia.

Obrigado, @gerhard.

O suporte do Discourse mencionou o guia para macOS como uma opção em um e-mail. Mas eles também me indicaram o Guia para Iniciantes para Instalar o Discourse para Desenvolvimento usando Docker. Basicamente, eu só quero resolver isso da maneira mais rápida possível. Acabei de verificar os preços da DigitalOcean e parece muito mais acessível do que eu esperava.

O que você recomenda como a maneira mais rápida e fácil?

Obrigado!

DigitalOcean é provavelmente a opção mais fácil se você estiver com dificuldades para instalar o Docker no macOS. Funciona bem e é bastante barato, considerando que você precisa do droplet apenas por um curto período de tempo.

Obrigado.

Agora tentei usar ambas as opções para macOS no guia, mas encontrei problemas. Deixei um comentário no guia, mas acabei desistindo. Vou tentar o DigitalOcean em seguida.

Essa versão do Ruby está muito antiga. Você pode querer tentar usar a mais recente.

Obrigado. Isso é interessante, no entanto. O script de instalação do guia instala especificamente a versão 2.6.5. Não faço ideia do motivo pelo qual a 2.2.1 aparece.

Quando executo manualmente rbenv install 2.6.5 (como faz o script de instalação), a seguinte mensagem é exibida:

rbenv: /Users/js/.rbenv/versions/2.6.5 já existe

Já o comando ruby -v imprime:

ruby 2.7.0p0 (2019-12-25 revisão 647ee6f091) [x86_64-darwin17]

Achei que os logs mostravam que o rvm está sendo usado. Então, ao executar rvm list, obtive:

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

Então, executei rvm install "ruby-2.6.5" e tentei novamente bundle exec rake autospec. Agora, a saída é:

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': Não foi possível encontrar o 'bundler' (2.1.1) exigido pelo seu /Users/js/Documents/Aktuelle-Projekte/Openframe/discourse/Gemfile.lock. (Gem::GemNotFoundException)

Para atualizar para a versão mais recente instalada no seu sistema, execute `bundle update --bundler`.

Para instalar a versão ausente, execute `gem install bundler:2.1.1`

… parece que você não deve mexer na versão do rvm? Ou estou perdendo algo?

… consegui colocá-lo em funcionamento no Digital Ocean no meio tempo. Todos os outros métodos falharam comigo de alguma forma.

Quase certamente não é o problema agora, mas você pode usar rvm use para especificar a versão do Ruby.

rvm use 2.6.5 --default