Installation sur macOS – Échec : Scheduler::Defer peut mettre en pause et reprendre

Je suis en train de suivre Install Discourse on macOS for development. Malheureusement, je rencontre une erreur lors de l’exécution des spécifications avec :

bundle exec rake autospec
Échecs :

  1) Scheduler::Defer peut mettre en pause et reprendre
     Erreur de test : @reactor&.stop
     
     ThreadError :
       thread tué
     # /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>'

Terminé en 9 minutes 53 secondes (les fichiers ont pris 25,84 secondes à charger)
6460 exemples, 1 échec, 4 en attente

Exemples échoués :

rspec ./spec/components/scheduler/defer_spec.rb:67 # Scheduler::Defer peut mettre en pause et reprendre

Au début, j’ai rencontré quelques problèmes lors de l’installation des dépendances en exécutant le script d’installation du guide. Cependant, je pense que tout devrait être résolu maintenant.

Comment puis-je résoudre ce problème ?

Merci !

Objectif de l’installation locale
Au cas où cela serait pertinent : j’essaie de migrer depuis un Google Group vers une version hébergée de Discourse en utilisant ce guide. L’idée est de configurer une version locale pour effectuer la migration localement, puis de télécharger la sauvegarde vers la version hébergée, car je n’ai pas d’accès root à la version hébergée.

Ce guide suppose que vous utilisez une configuration basée sur Docker. Vous devriez pouvoir installer Docker sur macOS et suivre ensuite chaque étape de ce guide.

Merci, @gerhard.

Le support de Discourse a mentionné le guide macOS comme option dans un e-mail. Mais ils m’ont aussi orienté vers le Guide pour les débutants sur l’installation de Discourse pour le développement en utilisant Docker. Je veux simplement régler ça de la manière la plus rapide possible. Je viens de vérifier les tarifs de DigitalOcean, et cela semble beaucoup plus abordable que ce à quoi je m’attendais.

Que recommandez-vous comme méthode la plus rapide et la plus simple ?

Merci !

DigitalOcean est probablement le plus simple si vous rencontrez des difficultés pour installer Docker sur macOS. Cela fonctionne et c’est assez abordable, étant donné que vous n’avez besoin du droplet que pendant une courte période.

Merci.

J’ai maintenant essayé les deux options pour macOS sur le guide, mais j’ai rencontré des problèmes. J’ai laissé un commentaire sous le guide, mais j’ai fini par abandonner. Je vais essayer DigitalOcean ensuite.

Cette version de Ruby est bien trop ancienne. Vous devriez essayer d’utiliser la dernière version.

Merci. C’est intéressant, cependant. Le script d’installation du guide installe spécifiquement la version 2.6.5. Je ne vois pas pourquoi 2.2.1 s’affiche.

Lorsque j’exécute manuellement rbenv install 2.6.5 (comme le fait le script d’installation), le message suivant s’affiche :

rbenv: /Users/js/.rbenv/versions/2.6.5 existe déjà

En revanche, ruby -v affiche :

ruby 2.7.0p0 (2019-12-25 révision 647ee6f091) [x86_64-darwin17]

J’ai supposé que les journaux indiquent que rvm est utilisé. Donc, rvm list affiche :

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

J’ai donc exécuté rvm install "ruby-2.6.5" et réessayé bundle exec rake autospec. Cela affiche maintenant :

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': Impossible de trouver 'bundler' (2.1.1) requis par votre /Users/js/Documents/Aktuelle-Projekte/Openframe/discourse/Gemfile.lock. (Gem::GemNotFoundException)

Pour mettre à jour vers la dernière version installée sur votre système, exécutez `bundle update --bundler`.

Pour installer la version manquante, exécutez `gem install bundler:2.1.1`

… il semble que vous ne devriez pas toucher à la version rvm ? Ou est-ce que je passe à côté de quelque chose ?

… je l’ai donc installé et configuré sur Digital Ocean en attendant. Toutes les autres méthodes ont échoué d’une manière ou d’une autre pour moi.

Presque certainement pas le problème actuellement, mais vous pouvez utiliser rvm use pour spécifier la version de Ruby.

rvm use 2.6.5 --default