Wir haben ein Theme-Komponente, die wir über den rake-Befehl installieren. Das Plugin und seine Installation über den rake-Befehl funktionieren einwandfrei. Das Upgrade funktioniert ebenfalls einwandfrei, wenn wir es über die Admin-Oberfläche durchführen, z. B. unter /admin/customize/themes/40. Das Problem tritt auf, wenn wir versuchen, es über die Kommandozeile mit dem rake-Befehl zu aktualisieren. Die Ausgabe entspricht genau dem, was ich erwarte. Allerdings spiegeln sich die Änderungen nicht wider. Sieht das nach einem Fehler aus?
$ rake themes:install -- '--{"discourse-login-modal": {"url": "https://github.com/example/discourse-login-modal.git", "add_to_all_themes": true}}'
discourse-login-modal: ist bereits installiert. Aktualisierung vom Remote.
Ergebnisse:
Installiert: 0
Aktualisiert: 1
Fehler: 0
Ich liefere weitere Details zum Problem. Das Ausführen des Rake-Befehls für das Upgrade hat keine sichtbaren Änderungen an meiner Theme-Komponente bewirkt, aber danach geht das Admin-UI davon aus, dass das Upgrade angewendet wurde (Screenshot wurde versehentlich nicht gemacht).
Nach einer anschließenden Änderung an meiner Theme-Komponente zeigt das Admin-UI nun an, dass ein Upgrade verfügbar ist. Beim Anwenden erhalte ich jedoch diese Warnung, dass meine lokalen Änderungen überschrieben werden. Genau diese Änderungen wollte ich eigentlich über den Rake-Install-Befehl anwenden, der jedoch nicht funktioniert hat.
Hallo @markvanlan, danke für deine Arbeit am Rake-Befehl zur Installation eines Themes! Weißt du vielleicht, warum das Upgrade über rake install nicht funktioniert?
Ich konnte nicht herausfinden, warum das Update nicht funktioniert, aber ich habe eine Workaround-Lösung überlegt – das Hinzufügen eines Deinstallationsbefehls. Das Deinstallieren des Themes vor der Ausführung des rake install-Befehls scheint zu funktionieren.
Etwas ist hier sehr seltsam. Wenn ThemesInstallTask ein Remote-Theme aktualisiert, werden die Remote-Informationen korrekt aktualisiert (die neueste SHA wird angezeigt, und commits_behind ist 0, wie Sie bemerkt haben).
Aber das SCSS wird in der Datenbank nicht aktualisiert. Ich ging davon aus, dass es sich um ein Problem mit dem Cache-Busting handelt, aber das ist nicht der Fall! Das SCSS in der Datenbank wird nicht aktualisiert.
Wenn ich mir anschaue, wie der Admin-Theme-Controller Updates im Vergleich dazu handhabt, wie die Aufgabe Remote-Themes aktualisiert, sehe ich keinen Unterschied.