Installer Discourse sur Windows pour le développement

: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 « J'aime »

Bien, j’ai trouvé une solution.

J’ai remarqué que remplacer 127.0.0.1 par localhost résolvait le problème des images.

Après quelques recherches, voici la commande que vous pouvez utiliser pour démarrer Discourse :

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


J’essaierai de mettre à jour le guide plus tard.

4 « J'aime »

Y a-t-il une chance de revoir cette PR ?

Cela rendrait ce guide un peu plus convivial.

3 « J'aime »

Une idée de pourquoi je reçois « Malheureusement, une erreur inattendue s’est produite et Bundler ne peut pas continuer. » après bundle install ?

1 « J'aime »

même problème

Pouvez-vous fournir une capture d’écran de l’erreur. Quelle version de Ruby avez-vous installée ?

J’ai des problèmes de dépendances :

ux430uq@Asus-UX430UQ:~/discourse$ bundle install
You must use Bundler 2 or greater with this lockfile.
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)
    You don't have write permissions for the /var/lib/gems/2.5.0 directory.
ux430uq@Asus-UX430UQ:~/discourse$
ux430uq@Asus-UX430UQ:~/discourse$ sudo gem install bundler
[sudo] password for ux430uq:
Fetching: bundler-2.4.20.gem (100%)
ERROR:  Error installing bundler:
        The last version of bundler (>= 0) to support your Ruby & RubyGems was 2.3.26. Try installing it with `gem install bundler -v 2.3.26`
        bundler requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Bundler version 1.16.1
ux430uq@Asus-UX430UQ:~/discourse$

Comment puis-je résoudre ce problème facilement ? J’essayais d’installer 2.6.0, puis 2.7.0, mais il y a toujours d’autres problèmes avec cela.

Comme indiqué dans certains commentaires précédents, j’ai également rencontré des difficultés et des erreurs en essayant de suivre ce guide - j’ai essayé sur un bureau Windows 10 et Windows 11.

Après quelques essais et erreurs, j’ai enfin trouvé les étapes qui aboutissent à un environnement de développement entièrement fonctionnel sous Windows 11, testé sur la dernière build 22H2 et également sur la prochaine version Release Preview 23H2 (je suppose que cela fonctionnera également sur la dernière build de Windows 10).

Si cela peut être utile à quelqu’un, je viens de publier le guide ici :-

J’espère que cela aidera les personnes comme moi qui essaient de faire fonctionner Discourse sous Windows :smiley:

2 « J'aime »

J’ai parcouru à nouveau ce guide officiel pour m’assurer que rien n’avait changé depuis ma dernière tentative.
J’ai installé Ubuntu (version non spécifiée) via WSL sur Windows 11, ce qui a installé la dernière version LTS, 22.04 dans ce cas.

Je n’ai rencontré aucun problème ; tout était simple, sans erreurs, et l’installation pour le développement fonctionne.

Si vous rencontrez des difficultés pour installer quelque chose en utilisant l’un de nos guides officiels à l’avenir, veuillez noter les erreurs et nous les signaler, c’est toujours utile :smile:


Deux avertissements cependant :

Lors de l’installation de Node.js :

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

                           AVERTISSEMENT DE DÉPRECATION DE SCRIPT

  Ce script, situé à https://deb.nodesource.com/setup_X, utilisé pour
  installer Node.js est maintenant déprécié et sera bientôt rendu inactif.

  Veuillez visiter le dépôt Github des distributions NodeSource et suivre les
  instructions pour migrer votre dépôt.
  https://github.com/nodesource/distributions

  Le dépôt GitHub des distributions Linux NodeSource pour Node.js contient
  des informations sur les versions de Node.js et les distributions Linux
  qui sont prises en charge et comment les installer.
  https://github.com/nodesource/distributions


                          AVERTISSEMENT DE DÉPRECATION DE SCRIPT

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

POUR ÉVITER CETTE ATTENTE, MIGREZ LE SCRIPT
Continuation dans 60 secondes (appuyez sur Ctrl-C pour annuler) ...

Lors de l’exécution de redis-server --daemonize yes :

# AVERTISSEMENT Le surallocation de mémoire doit être activé ! Sans cela, une sauvegarde en arrière-plan ou la réplication peut échouer en cas de faible quantité de mémoire. En étant désactivé, cela peut également causer des échecs sans faible quantité de mémoire, voir https://github.com/jemalloc/jemalloc/issues/1328. Pour corriger ce problème, ajoutez 'vm.overcommit_memory = 1' à /etc/sysctl.conf puis redémarrez ou exécutez la commande 'sysctl vm.overcommit_memory=1' pour que cela prenne effet.

Je ne sais pas pourquoi j’ai eu autant de problèmes alors ! Peut-être y avait-il quelque chose d’étrange dans mon installation Windows que j’ai réussi à corriger pendant mon dépannage sans m’en rendre compte ! :stuck_out_tongue:

Néanmoins, je suis toujours satisfait de ce que j’ai appris jusqu’à présent et j’ai hâte de continuer à travailler à la migration de mes forums vers Discourse.

2 « J'aime »

J’ai dû réinstaller Windows, et j’ai maintenant une nouvelle installation de Windows 11.
Je vais suivre le guide et je vous donnerai des nouvelles plus tard ! Je garderai également à l’esprit le guide de @AliBenBongo.

1 « J'aime »

Voici une mise à jour.

Le guide pourrait certainement bénéficier d’une mise à jour, mais il fonctionne toujours à merveille sur une nouvelle installation de Windows 11 22H2. :+1:

Le seul problème que j’ai rencontré est que, même si la commande wsl fonctionnait dans un terminal, la fonctionnalité WSL n’était en fait pas activée par défaut :

3 « J'aime »

Je pense que ce guide est obsolète. Les étapes mentionnées dans le guide Ubuntu/Debian n’existent même plus.

Existe-t-il un moyen d’annuler toutes ces étapes, par exemple, d’inverser le script d’installation des packages, des gems et du clonage ?

Est-il toujours nécessaire d’installer 18.04 sur 20.04 ?

Réception d’une erreur lors de l’installation de nodejs :

# apt install nodejs

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Certains paquets n'ont pas pu être installés. Ceci peut signifier que vous avez
demandé une situation impossible, ou bien, si vous utilisez la distribution
instable, que certains paquets requis n'ont pas encore été créés
ou ont été déplacés hors de Incoming.
Les informations suivantes peuvent aider à résoudre la situation :

Les paquets suivants ont des dépendances non satisfaites :
 nodejs : Dépend: libc6 (>= 2.28) mais 2.27-3ubuntu1.6 va être installé
E : Impossible de corriger les problèmes, vous avez des paquets cassés en attente.```