Flarum zu Discourse-Migration fehlgeschlagen

Ich habe alles eingerichtet und versucht, flarum_import.rb zu importieren. Aber es sagt: thimira@THIMIRA:~/discourse/script/import_scripts$ bundle exec ruby flarum_import.rb
Traceback (most recent call last):
1: from flarum_import.rb:3:in <main>'

Was muss ich tun? Bitte helfen Sie.

Sie müssen mehr von der Ausgabe einbeziehen, damit jemand raten kann, aber (was beweist, dass ich mich darin irre), Zeile 3 ist

 require "mysql2"

es scheint also, dass Sie dies zur Gemfile hinzufügen und bundle install ausführen müssen.

2 „Gefällt mir“

Wie mache ich das? Ich meine, wie füge ich es zur Gemfile hinzu?

Bitte überprüfen Sie die Direktnachricht. Ich habe dort eine Nachricht hinterlassen.

Heutzutage ist es nicht mehr nötig, diese Gems manuell zur Gemfile hinzuzufügen, sie sind bereits vorhanden. Sie müssen sie nur aktivieren, indem Sie IMPORT=1 vor Ihren Befehl stellen.

Machen Sie also einfach:

IMPORT=1 bundle install
IMPORT=1 bundle exec ruby flarum_import.rb

Wenn bundle install einen Fehler ausgibt, müssen Sie möglicherweise auch bundle config unset deployment ausführen.

1 „Gefällt mir“

Meine Erfahrung ist, dass Sie, wenn Sie IMPORT=1 ausführen, eine Reihe von Fehlern erhalten, wenn Sie nicht alle Abhängigkeiten für all die zusätzlichen Import-Sachen installiert haben, und einige davon sind schwer zu verstehen.

1 „Gefällt mir“

Hmm, das ist nicht meine Erfahrung – und ich verstehe nicht, wie es die Abhängigkeiten beeinflussen könnte, wenn man es so oder anders macht?

@thimiraonline hat es bei dir funktioniert?

Zeug, wie das:\n\n Beim Installieren von tiny_tds (2.1.5) ist ein Fehler aufgetreten, und Bundler kann nicht fortfahren.\n\nUnd dann, wenn Sie tiny_tds installieren, was nicht trivial ist, erhalten Sie dann\n\n Beim Installieren von sqlite3 (1.4.2) ist ein Fehler aufgetreten, und Bundler kann nicht fortfahren.\n\nAber ich denke, wenn Sie\n\n\n - \"templates/import/mysql-dep.template.yml\"\n - \"templates/import/mbox.template.yml\"\n - \"templates/import/mssql-dep.template.yml\"\n\n\nDann könnte es funktionieren. Das werde ich als Nächstes versuchen; Eine Zeit lang habe ich meine eigenen Vorlagen erstellt, um diese Abhängigkeiten zu installieren, aber ich hoffe, dass ich festgestellt habe, dass ich sie nie brauchte.\n\n[quote="RGJ, post:7, topic:222696"]\nHat es bei dir funktioniert, @thimiraonline?\n[/quote]\n\nIch habe es versucht, aber sein Setup hat ein DB-Tabellenpräfix und das Skript hat keine Einstellung für das Präfix. Ich habe ihn gebeten, die Tabellen umzubenennen, und ich werde es erneut versuchen.

2 „Gefällt mir“

. . . aber die Importvorlagen fügen das Gem zur Gemfile hinzu, sodass Sie, wenn Sie versuchen, IMPORT=1 zu verwenden, Folgendes erhalten:


[!] Beim Parsen von `Gemfile` ist ein Fehler aufgetreten: Sie können nicht dasselbe Gem zweimal mit unterschiedlichen Versionsanforderungen angeben.
Sie haben angegeben: sqlite3 (~> 1.3, >= 1.3.13) und sqlite3 (>= 0). Bundler kann nicht fortfahren.

# aus /var/www/discourse/Gemfile:272
# -------------------------------------------
# gem 'mysql2'
> gem 'sqlite3'
# gem 'tiny_tds'
# -------------------------------------------

Da die Gemfile eine Version angibt und die Vorlage dies nicht tut.

Nachdem ich mich sehr bemüht habe, finde ich keinen Weg, IMPORT=1 nützlich zu machen. Ich schätze, es würde auf einer Entwicklungsinstanz funktionieren, auf der Sie alle diese Abhängigkeiten im Betriebssystem installiert haben oder Sie sich einen Weg zur Installation der Abhängigkeiten in einem Container gebastelt haben.

Oh, aber der mbox-Import tut viel mehr als nur sqlite3 zu installieren, also ist das keine gute Sache, es sei denn, Sie möchten wirklich eine mbox importieren.

Vielleicht reiche ich einen PR für eine sqlite3-Importvorlage ein.

2 „Gefällt mir“

Ich erhalte diesen Fehler, wenn ich versuche, das Skript mit IMPORT=1 auszuführen

1: from /home/user/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:28:in `require' /home/user/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.5.4/lib/zeitw erk/loader/callbacks.rb:25:in `on_file_autoloaded': expected file /home/user/disco urse/lib/freedom_patches/ip_addr.rb to define constant FreedomPatches::IPAddr, but didn't (Zeitwerk:: NameError)