Probleme bei der Installation von Discourse auf WSL

Hallo! Ich versuche, eine lokale Instanz von Discourse auf meinem Windows 11-Rechner zum Laufen zu bringen, um daran zu entwickeln, indem ich WSL verwende.

Lassen Sie mich zunächst sagen, dass ich neu bei Discourse, Ubuntu und WSL bin. Die Fehler kommen also eindeutig von meiner Seite. Bitte helfen Sie mir! :frowning_with_open_mouth:

Discourse unter Windows 10 installieren

Dies ist die Anleitung, der ich gefolgt bin.

Ich bin bei meinem vierten Versuch und stoße immer wieder auf die gleichen Fehler. Ich werde einen detaillierten Überblick über den Installationsprozess geben.

Zuerst habe ich sichergestellt, dass ich Windows Subsystem for Linux 2 habe. Die Anleitung schlägt Ubuntu 18.04 vor, also habe ich es damit versucht. Nachdem das nicht funktionierte, habe ich 22.04 ausprobiert, aber immer noch kein Ergebnis. In diesem Überblick werde ich 18.04 verwenden, um die Fehler zu demonstrieren.

Der erste Schritt ist die Installation der Pakete mit diesem Befehl:

<(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)

Das funktioniert gut. Das Einzige, was ein wenig seltsam aussieht, ist dies:

createuser: could not connect to database template1: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
failed

Bevor Sie die Datenbank einrichten, müssen Sie den PostgreSQL-Dienst und den Redis-Server manuell mit den folgenden Befehlen starten:

sudo service postgresql start
redis-server --daemonize yes

Der erste Befehl funktioniert einwandfrei, der zweite hat bereits ein Problem:

redis-server --daemonize yes

Command ‘redis-server’ not found, but can be installed with:

sudo apt install redis-server

Das ist in Ordnung. Ich führe aus:

sudo apt install redis-server

und versuche es erneut.
Diesmal funktioniert es großartig!

  1. Klonen Sie das Discourse-Repository
git clone https://github.com/discourse/discourse.git ~/discourse

Hier gibt es keine Probleme.
Einrichtung der Datenbank mit:

sudo -u postgres createuser -s "$USER"

4. Hier ist der entscheidende Teil

cd ~/discourse
source ~/.bashrc
bundle install

Fehler:

Command ‘bundle’ not found, but can be installed with:

sudo apt install ruby-bundler

Lassen Sie uns das ausführen. Und nach der Installation erneut ausführen

bundle install
im Discourse-Verzeichnis.

Error: You must use Bundler 2 or greater with this lockfile.

Danach, wenn Sie versuchen, Bundler zu installieren:

ERROR: Error installing bundler: There are no versions of bundler (= 2.4.17) compatible with your Ruby & RubyGems bundler requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.

Ok, vielleicht muss ich mein Ruby mit rbenv aktualisieren:

rbenv install 2.6.0
ruby-build: definition not found: 2.6.0

See all available versions with `rbenv install --list’.

If the version you need is missing, try upgrading ruby-build.

Wenn ich rbenv install --list überprüfe, bricht es bei 2.5.0 ab und ich kann rbenv nicht aktualisieren.

Kann mir jemand einen Hinweis geben, was ich falsch mache? Ich scheine nicht über Schritt 4 hinauszukommen.

Vielen Dank im Voraus!

1 „Gefällt mir“

Ich bin gerade auf dasselbe Problem gestoßen. Hier ist, was ich getan habe (vielleicht zu übertrieben, aber ich bin kein Experte ^^)

  1. Installiere rbenv und ruby-build:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
  1. Installiere eine neue Version von Ruby:
rbenv install 3.2.2
rbenv global 3.2.2
  1. Installiere die richtige Bundler-Version
    gem install bundler:2.4.13

  2. Da ich einige Berechtigungsprobleme bei der Verwendung von “bundle install” hatte, musste ich das vorübergehend mit Folgendem beheben:
    sudo chmod -R 777 /home/boris/.bundle

  3. bundle install

Ich hoffe, das hilft.

2 „Gefällt mir“

Danke! Das hat sehr geholfen.

Jetzt tritt ein weiterer Fehler auf, wenn ich ausführe

bundle exec rake db:create

Discourse benötigt Redis 6.2.0 oder höher

Hmm, mal sehen mit

redis-server -v

Redis server v=7.0.12 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=b56540d7933227fd

Es sollte funktionieren, oder? Entschuldigen Sie die Unannehmlichkeiten.

Ahah, es scheint, dass wir auf die gleichen Probleme gestoßen sind.

  1. Fügen Sie das Depot hinzu, das die neuesten Versionen enthält
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
  1. Installieren Sie die neue Redis-Version
sudo apt-get install redis
  1. Starten Sie Redis neu
    sudo service redis-server restart
3 „Gefällt mir“