(größere Änderungen unten – zweiter Versuch)
Ich arbeite am Prozess zum Importieren von Nachrichten und folge dabei den Anweisungen unter Migrate from another forum to Discourse. Wie ich es verstehe, sollte der Ablauf so aussehen:
- Entwicklungsumgebung einrichten gemäß Install Discourse on Ubuntu or Debian for Development
- MongoDB auf diesem System installieren
- Auf diesem System, als derselbe nicht privilegierte Benutzer, der Discourse ausführt, das yahoo-group-export-Skript mit
git cloneklonen - Als derselbe Benutzer:
gem install mechanize;gem install mongo. Dann .config.yaml bearbeiten, um die Yahoo-Anmeldedaten und den Gruppennamen einzutragen, undruby bin/yg-export.rbausführen. - Eine Tasse (oder zwei) Ihres Lieblingsgetränks genießen.
- Sobald yg-export abgeschlossen ist, im Discourse-Verzeichnis
script/import_scripts/yahoogroup.rbprüfen. Bearbeiten Sie die Datei, damit sie auf den korrekten MONGODB_HOST (localhost) zeigt. - Im discourse-Verzeichnis
bundle exec ruby script/import_scripts/yahoogroup.rbausführen - Prüfen, ob der Import korrekt durchgeführt wurde
- Sicherungskopie erstellen und auf einen Live-Server wiederherstellen
Die Schritte 2–4 wurden abgeleitet. Sieht das aber nach den richtigen Schritten aus? Da ich das glaubte, habe ich damit begonnen. Der Ablauf verlief bis Schritt 4 problemlos – yg-export.rb lief etwa eine Stunde, meldete für alles ERFOLG und speicherte ca. 38.000 Nachrichten. Die Datenbank syncro ist vorhanden und enthält ca. 85 MB Daten. Zu diesem Zeitpunkt habe ich einen Snapshot der VM erstellt.
Ich habe jedoch Probleme mit dem Import-Skript. Wenn ich bundle exec ruby script/import_scripts/yahoogroup.rb ausführe, erhalte ich folgende Meldung:
dan@ubuntu:~/discourse$ bundle exec ruby script/import_scripts/yahoogroup.rb
Traceback (most recent call last):
script/import_scripts/yahoogroup.rb: Bootsnap::LoadPathCache::FallbackScan
7: from script/import_scripts/yahoogroup.rb:4:in `<main>'
6: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb:23:in `require'
5: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:26:in `require'
4: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:40:in `rescue in require'
3: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
2: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
1: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
/home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': cannot load such file -- mongo (LoadError)
Seltsam, ich dachte, ich hätte das mongo-Gem bereits installiert. Na gut, ich installiere es noch einmal:
dan@ubuntu:~/discourse$ gem install mongo
Successfully installed mongo-2.10.2
Parsing documentation for mongo-2.10.2
Done installing documentation for mongo after 4 seconds
1 gem installed
Das Import-Skript erneut ausführen, dasselbe Ergebnis. Macht es einen Unterschied, wenn ich es auf Systemebene installiere?
dan@ubuntu:~/discourse$ sudo apt install ruby-mongo
[sudo] password for dan:
Reading package lists... Done
Building dependency tree
Reading state information... Done
ruby-mongo is already the newest version (2.5.1-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Je seltsamer, je besser…