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 »
How to install Discourse on windows
Help installing Discourse for Developer
Install Discourse on Ubuntu or Debian for Development
Database connection error when setting up Discourse development environment using Linux Bash Shell on Windows 10
Restoring backup fails in Win10/Ubuntu development environment
How to Install Discourse on LocalHost in Windows?
Error installing `bullseye-backports` when trying to install for Development
How can i install Discourse forum on my win 10 dedicated server OVH
Trying to set up Discourse on my website
Help with setting up discourse An error occurred while installing xorcist (1.1.2), and Bundler cannot continue
Restoring backup fails in Win10/Ubuntu development environment
How to install on localhost
WSL environment deadlocks
Problem with development on Windows with Docker and mounted volume
Please help, how do I install Discourse on macOS?
Install Discourse on Ubuntu or Debian for Development
Discourse standalone
Set up a local Discourse Development Environment?
Migrate a NodeBB forum with Redis to Discourse
Migrate a MyBB forum to Discourse
Migrate a NodeBB forum with MongoDB to Discourse
Migrate a Phorum forum to Discourse
Migrate a PunBB forum to Discourse
Migrate from another forum to Discourse
Unable to setup discourse in my windows 10
Self hosting discourse with WSL shows an error, the command shown also doesnt work
No such file or directory - convert (Errno::ENOENT)
PG::UndefinedTable: ERROR: relation "pg_range" does not exist
I'm having trouble installing a local Discourse instance on Windows 11
Issues while installing Discourse on WSL
Guide to Setting Up Discourse Development Environment - Windows 11
Need help integrating code wrote on Edittext to the Discourse
Problem in development Installation
Contributing to Discourse development
Install Discourse on Ubuntu or Debian for Development
Subscribe to post an ad
Restoring backup fails in Win10/Ubuntu development environment
Topics which users cannot directly reply to, but can create a linked topic?
How to add a new language
How to Start Sidekiq When Using Puma
Discourse-webpack: A boilerplate for developing JS-heavy Discourse components
How can I directly edit Discourse database from a GUI?
Can't set up dev environment due to cppjieba_rb failing to install
Cloning and making our own Discourse community
How to Add Ngrok to Allowed Hosts
»vagrant up« hangs
Dev Category sidebar
Install Discourse on Ubuntu or Debian for Development
Discourse installation end to end on Windows Server 2016
Install Discourse on Ubuntu or Debian for Development
Install Discourse on Ubuntu or Debian for Development
No connection to db issue
How to Install Discourse on LocalHost in Windows?
Install Discourse for development using Docker
Install Discourse on Ubuntu or Debian for Development

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.```