Here is the error when I try to bootstrap without the plugin.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return # <Process::Status: pid 22379 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:108:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install -- deployment --verbose --without test --without development'", "su discourse -c 'bundle exec rake db:migrate'", "su discourse -c 'bundle exec rake assets:precompile'"]}`
And then scrolled up I get this:
I, [2017-01-01T23:52:03.038385 #15] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
URGENT: type Failed to initialize site default
rake aborted!
ArgumentError: type
Handy with most things but I don’t know where to start with this because I bootstrap fine with the plugin.
Looks like df-core is the plugin at fault. Isn’t that one of the Discouse PRO plugins? It’s been a while since I looked at the code on those but if memory serves they contained db migrations. Not sure if that’s good or bad at the moment.
Is it possible that by removing the plugin (and thus removing the migrations) it’s throwing an error?
Für diejenigen, die Discourse nur gelegentlich verwalten, für Einsteiger oder generell, um Zeit zu sparen, ist es am hilfreichsten, so präzise wie möglich zu sein.
In diesem speziellen Fall: Wo genau befindet sich die Datei app.yml? Ich sehe keine im Verzeichnis /var/discourse, aber ich sehe eine app-sparkpost.yml. Vielleicht ist das die Datei, die ich vor etwa 5 Jahren erstellt habe, als ich die Instanz bereitgestellt habe; ich bin mir nicht sicher. Ist das der richtige Pfad? Wie weiß Discourse, dass es diese Datei lesen soll, wenn keine app.yml in /var/discourse vorhanden ist?
Ich würde nicht erwarten, dass Sie selbst unter /var/discourse YAML-Dateien finden. Der korrekte Pfad wäre /var/discourse/containers. Ich glaube, Discourse liest alle Dateien im Verzeichnis containers, aber ein Ingenieur wird Ihnen dazu besser Auskunft geben können als ich. Ich denke, der Name ist tatsächlich nicht wichtig.
Ich glaube, dass app.yml unter /var/discourse/containers/app.yml zu finden ist. Sie müssen diese Datei bearbeiten und alle Verweise auf das Plugin entfernen. Im Dateiinhalten sollte sich etwas Ähnliches wie Folgendes befinden:
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-jwt.git
- git clone https://github.com/zh99998/discourse-cross-origin.git
Jede der git clone-Zeilen bezieht sich auf ein Plugin, das in der Discourse-Instanz installiert ist. Nach dem Bearbeiten der Datei müssen Sie Ihre Discourse-Anwendung neu aufbauen. Aus dem Ordner /var/discourse können Sie ./launcher rebuild app ausführen, um Ihre Discourse-Anwendung neu zu bauen.