Installiere Discourse auf Windows für die Entwicklung

:information_source: This tutorial has been tested on Windows 10 and 11.

To set up a development environment for Discourse on Windows, you can do it using Windows Subsystem for Linux feature.

This setup requires the WSL 2 installation. It is only available in Windows 10 builds 18917 or higher. We’ll assume that you already installed Windows Subsystem for Linux 2 (Ubuntu) on your Windows 10 system. WARNING: Install Ubuntu 18.04, and not 20.04 since some installations will fail on 20.04. For more information see June 30th, 2020 notes at the bottom of this post.

Let’s begin!

Installing Discourse

  1. Initially follow the steps from the topic Beginners Guide to Install Discourse on Ubuntu for Development until the step Clone Discourse.
  1. Before setting up the database you have to start PostgreSQL service & Redis server manually using following commands

    sudo service postgresql start
    redis-server --daemonize yes
    
  2. Then go through all the remaining steps of the Ubuntu guide.

Creating a Command to Start Discourse

Now your development environment is almost ready. The only problem is every time when you open Ubuntu on Windows you have to start the PostgreSQL service & Redis server manually. Don’t worry we can have a workaround for this by creating a custom command :wink:

cd ~

Create a new file using the command nano start-discourse and paste the content below then save and exit.

#!/bin/bash

# to start PostgreSQL
sudo service postgresql start

# to start Redis server
redis-server --daemonize yes

Now modify the CHMOD using below command

chmod +x start-discourse

And copy the file to your bin folder

sudo cp start-discourse /usr/bin/

It’s done. Now, whenever you open the Ubuntu bash just run the command below and start developing :+1:

start-discourse

Alternatively, if you are using Windows 10 enterprise, pro, or education edition then you can create a Linux virtual machine in hyper-v to set up the Discourse dev environment.

Notes About Windows Environment

As of June 30, 2020:
As of July 1, 2020

Last Reviewed by @SaraDev on 2022-06-16T02:00:00Z


This document is version controlled - suggest changes on github.

52 „Gefällt mir“

Okay, Lösung gefunden.

Mir ist aufgefallen, dass das Ersetzen von 127.0.0.1 durch localhost die Bilder reparieren würde.

Nach einigem Suchen ist dies der Befehl, mit dem Sie Discourse starten können:

DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u


Ich werde versuchen, die Anleitung später zu aktualisieren.

4 „Gefällt mir“

Gibt es eine Möglichkeit, diesen PR zu überprüfen?

Das würde diese Anleitung ein wenig benutzerfreundlicher machen.

3 „Gefällt mir“

Haben Sie eine Idee, warum ich nach bundle install\n die Meldung „Leider ist ein unerwarteter Fehler aufgetreten, und Bundler kann nicht fortfahren.“ erhalte?

1 „Gefällt mir“

Gleiches Problem

Können Sie einen Screenshot des Fehlers bereitstellen? Welche Ruby-Version ist installiert?

Ich habe Probleme mit Abhängigkeiten:

ux430uq@Asus-UX430UQ:~/discourse$ bundle install
Sie müssen Bundler 2 oder höher mit dieser Lockfile verwenden.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Bundler version 1.16.1

ux430uq@Asus-UX430UQ:~/discourse$ gem install bundler

Fetching: bundler-2.4.20.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    Sie haben keine Schreibberechtigungen für das Verzeichnis /var/lib/gems/2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$
ux430uq@Asus-UX430UQ:~/discourse$ sudo gem install bundler
[sudo] Passwort für ux430uq:
Fetching: bundler-2.4.20.gem (100%)
ERROR:  Error installing bundler:
        Die letzte Version von bundler (>= 0), die Ihre Ruby- & RubyGems-Version unterstützt, war 2.3.26. Versuchen Sie, sie mit `gem install bundler -v 2.3.26` zu installieren.
        bundler erfordert Ruby-Version >= 2.6.0. Die aktuelle Ruby-Version ist 2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Bundler version 1.16.1
ux430uq@Asus-UX430UQ:~/discourse$

Wie kann ich das einfach beheben? Ich habe versucht, 2.6.0 und dann 2.7.0 zu installieren, aber es gab immer wieder andere Probleme.

Wie in einigen der früheren Kommentare erwähnt, hatte ich auch einige Schwierigkeiten und Fehler, als ich versuchte, dieser Anleitung zu folgen – getestet auf einem Windows 10- und einem Windows 11-Desktop.

Nach einiger Ausprobiererei habe ich endlich Schritte gefunden, die zu einer voll funktionsfähigen Entwicklungsumgebung unter Windows 11 führen, getestet auf dem neuesten Build 22H2 und auch auf der kommenden 23H2 Release Preview (ich gehe davon aus, dass es auch auf dem neuesten Build von Windows 10 funktionieren wird).

Wenn es jemandem nützt, habe ich die Anleitung gerade hier veröffentlicht:-

Hoffentlich hilft das Leuten wie mir, die versuchen, Discourse unter Windows zum Laufen zu bringen :smiley:

2 „Gefällt mir“

Ich habe diese gesamte offizielle Anleitung noch einmal durchgesehen, um sicherzustellen, dass seit meinem letzten Versuch nichts kaputt gegangen ist.
Ich habe Ubuntu (nicht spezifizierte Version) über WSL unter Windows 11 installiert, was die letzte LTS-Version, in diesem Fall 22.04, installiert hat.

Ich bin auf keine Probleme gestoßen; alles war unkompliziert, keine Fehler, und die Dev-Installation funktioniert.

Wenn Sie in Zukunft Probleme bei der Installation von etwas mit einer unserer offiziellen Anleitungen haben, schreiben Sie bitte die Fehler auf und melden Sie sie uns, das ist immer nützlich :smile:


Zwei Warnungen allerdings:

Bei der Installation von Node.js:

================================================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
================================================================================

                           SCRIPT DEPRECATION WARNING


  Dieses Skript, das sich unter https://deb.nodesource.com/setup_X befindet,
  wurde verwendet, um Node.js zu installieren, ist jetzt veraltet und wird
  schließlich inaktiviert.

  Besuchen Sie das NodeSource-Distributionen-Github und folgen Sie den
  Anweisungen zur Migration Ihres Repos.
  https://github.com/nodesource/distributions

  Das GitHub-Repository für NodeSource Node.js Linux-Distributionen enthält
  Informationen darüber, welche Versionen von Node.js und welche Linux-Distributionen
  unterstützt werden und wie die Installation erfolgt.
  https://github.com/nodesource/distributions


                          SCRIPT DEPRECATION WARNING

================================================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
================================================================================

UM DIESE WARTEZEIT ZU VERMEIDEN, MIGRATEN SIE DAS SKRIPT
Fortsetzung in 60 Sekunden (drücken Sie Strg-C zum Abbrechen) ...

Beim Ausführen von redis-server --daemonize yes:

# WARNUNG Memory overcommit muss aktiviert sein! Ohne ihn kann ein Hintergrundspeichern oder eine Replikation unter geringem Arbeitsspeicher fehlschlagen. Wenn es deaktiviert ist, kann es auch ohne geringen Arbeitsspeicher zu Fehlern kommen. Siehe https://github.com/jemalloc/jemalloc/issues/1328. Um dieses Problem zu beheben, fügen Sie 'vm.overcommit_memory = 1' zu /etc/sysctl.conf hinzu und starten Sie dann neu oder führen Sie den Befehl 'sysctl vm.overcommit_memory=1' aus, damit dies wirksam wird.

Ich bin mir nicht sicher, warum ich dann so viele Probleme hatte! Vielleicht gab es etwas Seltsames in meiner Windows-Installation, das ich während meiner Fehlersuche behoben habe, ohne es zu merken! :stuck_out_tongue:

Ich bin aber immer noch zufrieden mit dem, was ich bisher gelernt habe, und freue mich darauf, weiterhin daran zu arbeiten, meine Foren nach Discourse zu migrieren.

2 „Gefällt mir“

Ich musste Windows neu installieren und habe jetzt ein frisches Windows 11 installiert.
Ich werde dem Leitfaden folgen und später berichten! Ich werde auch @AliBenBongo’s Leitfaden im Hinterkopf behalten.

1 „Gefällt mir“

Hier ist eine Nachlese.
Der Leitfaden könnte sicherlich ein Update gebrauchen, aber er funktioniert auf einem frischen Windows 11 22H2 immer noch wunderbar. :+1:
Das einzige Problem, das ich hatte, war, dass die WSL-Funktion standardmäßig nicht aktiviert war, obwohl der Befehl wsl in einem Terminal funktionierte:

3 „Gefällt mir“

Ich glaube, diese Anleitung ist veraltet. Die im Ubuntu/Debian-Leitfaden erwähnten Schritte existieren nicht mehr.

Gibt es eine Möglichkeit, all diese Schritte rückgängig zu machen, z. B. das Rückgängigmachen des Installationsskripts von Paketen, Gems und das Klonen?

Ist die Installation von 18.04 über 20.04 noch erforderlich?

Fehler bei der Installation von nodejs:

# apt install nodejs

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Einige Pakete konnten nicht installiert werden. Das könnte bedeuten, dass Sie
eine unmögliche Situation angefordert haben, oder, wenn Sie die
instabile Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder aus Incoming entfernt wurden.
Die folgenden Informationen helfen möglicherweise bei der Lösung des Problems:

Die folgenden Pakete haben nicht erfüllte Abhängigkeiten:
 nodejs : Hängt ab von: libc6 (>= 2.28) aber 2.27-3ubuntu1.6 soll installiert werden
E: Fehler beim Korrigieren von Problemen, Sie haben zurückgehaltene Pakete.```