How to completely uninstall / remove a plugin

I only rebuild a few times per year. I am currently running into an issue with a plugin I do not want.

When I include the plugin repository in my app.yml file I can bootstrap but run into blank screens with the following errors:

When I comment out the plugin repository in app.yml I fail to bootstrap.

So my question is, how can I fully remove the plugin(s) and all of their remnants from my install as if it were never there in the first place?

Can you share the error in bootstrap when doing a rebuild without the plugin?

2 „Gefällt mir“

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?

1 „Gefällt mir“

nobody knows how to just remove a plugin??

To remove a plugin, simply remove the - git clone https://github.com/... line from your app.yml file and rebuild your site via ./launcher rebuild app.

11 „Gefällt mir“

Would that method remove the entries the plugin would have created in the database, like tables or records?

Or when you uninstall a plugin garbage in the database would be left after it?

6 „Gefällt mir“

I did this method multiple times, the Fingerprint plugin will not uninstall even though it is not in my app.yml.

How to delete this anyway?

Did you rebuild after you edited your app.yml?

Did you clear you local cache?

Yes, I’ve had several rebuilds and changes since. I cleared my cache.

And you saved after you changed your app.yml :man_shrugging:

Ofcourse, otherwise plugins I installed after would not install, but they are :grinning:

In a support forum nothing is obvious :scream:

6 „Gefällt mir“

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.

1 „Gefällt mir“

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.

3 „Gefällt mir“

11 Beiträge wurden in ein neues Thema aufgeteilt: Rebuild taking ~3hours