Instala Discourse en Windows para desarrollo

: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 Me gusta

Bien, encontré una solución.

Noté que reemplazar 127.0.0.1 con localhost solucionaba las imágenes.

Después de buscar un poco, este es el comando que puedes usar para iniciar Discourse:

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


Intentaré actualizar la guía más tarde.

4 Me gusta

¿Hay alguna posibilidad de revisar esta PR?

Eso haría esta guía un poco más amigable.

3 Me gusta

¿Alguna idea de por qué obtengo “Desafortunadamente, ocurrió un error inesperado y Bundler no puede continuar”. Después de bundle install?

1 me gusta

mismo problema

¿Puede proporcionar una captura de pantalla del error? ¿Qué versión de Ruby tiene instalada?

Tengo problemas con las dependencias:

ux430uq@Asus-UX430UQ:~/discourse$ bundle install
Debes usar Bundler 2 o superior con este lockfile.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Versión de Bundler 1.16.1

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

Fetching: bundler-2.4.20.gem (100%)
ERROR:  Mientras se ejecutaba gem ... (Gem::FilePermissionError)
    No tienes permisos de escritura para el directorio /var/lib/gems/2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$
ux430uq@Asus-UX430UQ:~/discourse$ sudo gem install bundler
[sudo] contraseña para ux430uq:
Fetching: bundler-2.4.20.gem (100%)
ERROR:  Error al instalar bundler:
        La última versión de bundler (>= 0) que admitía tu Ruby y RubyGems fue la 2.3.26. Intenta instalarla con `gem install bundler -v 2.3.26`
        bundler requiere la versión de Ruby >= 2.6.0. La versión actual de ruby es 2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Versión de Bundler 1.16.1
ux430uq@Asus-UX430UQ:~/discourse$

¿Cómo puedo solucionarlo fácilmente? Estaba intentando instalar 2.6.0, luego 2.7.0, pero siempre hay otros problemas con esto.

Según algunos de los comentarios anteriores, yo también tuve algunas dificultades y errores al intentar seguir esta guía; probé tanto en un escritorio con Windows 10 como con Windows 11.

Después de un poco de prueba y error, finalmente tengo los pasos que resultan en un entorno de desarrollo completamente funcional en Windows 11, probado en la última compilación 22H2 y también en la próxima vista previa de lanzamiento 23H2 (supongo que también funcionará en la compilación más reciente de Windows 10).

Si a alguien le sirve, acabo de publicar la guía aquí:-

Espero que esto ayude a personas como yo que intentan ejecutar Discourse en Windows :smiley:

2 Me gusta

Revisé esta guía oficial completa nuevamente para asegurarme de que nada se rompiera desde mi último intento.
Instalé Ubuntu (versión no especificada) a través de WSL en Windows 11, lo que instaló la última versión LTS, 22.04 en este caso.

No encontré ningún problema; todo fue sencillo, sin errores, y la instalación de desarrollo funciona.

Si tienes problemas para instalar algo usando una de nuestras guías oficiales en el futuro, por favor anota los errores y repórtalos, ¡siempre es útil! :smile:


Dos advertencias, sin embargo:

Al instalar Node.js:

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

                           ADVERTENCIA DE DESAPROBACIÓN DE SCRIPT


  Este script, ubicado en https://deb.nodesource.com/setup_X, que se usaba para
  instalar Node.js, ahora está obsoleto y eventualmente se desactivará.

  Por favor, visita el repositorio de Github de distribuciones de NodeSource y sigue las
  instrucciones para migrar tu repositorio.
  https://github.com/nodesource/distributions

  El repositorio de Github de distribuciones de Linux de NodeSource para Node.js contiene
  información sobre qué versiones de Node.js y qué distribuciones de Linux
  son compatibles y cómo instalarlo.
  https://github.com/nodesource/distributions


                          ADVERTENCIA DE DESAPROBACIÓN DE SCRIPT

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

PARA EVITAR ESTA ESPERA, MIGRAR EL SCRIPT
Continuando en 60 segundos (presiona Ctrl-C para abortar) ...

Al ejecutar redis-server --daemonize yes:

# ¡ADVERTENCIA! El overcommit de memoria debe estar habilitado. Sin él, un guardado en segundo plano o la replicación pueden fallar en condiciones de poca memoria. Al estar deshabilitado, también puede causar fallos sin condiciones de poca memoria, ver https://github.com/jemalloc/jemalloc/issues/1328. Para solucionar este problema, agrega 'vm.overcommit_memory = 1' a /etc/sysctl.conf y luego reinicia o ejecuta el comando 'sysctl vm.overcommit_memory=1' para que tenga efecto.

¡No estaba seguro de por qué tuve tantos problemas entonces! ¡Quizás había algo extraño en mi instalación de Windows que logré arreglar durante mi solución de problemas sin darme cuenta! :stuck_out_tongue:

Aún así, todavía estoy contento con lo que he aprendido hasta ahora y espero seguir trabajando en la migración de mis foros a Discourse.

2 Me gusta

Tuve que reinstalar Windows y ahora tengo una instalación limpia de Windows 11.
Seguiré la guía y reportaré más tarde. Tendré en cuenta la guía de @AliBenBongo también.

1 me gusta

Aquí tienes un seguimiento.

La guía seguramente necesita una actualización, pero todavía funciona de maravilla en una instalación limpia de Windows 11 22H2. :+1:

El único problema que tuve fue que, aunque el comando wsl funcionaba en una terminal, la característica WSL en realidad no estaba habilitada por defecto:

3 Me gusta

Creo que esta guía está desactualizada. Los pasos mencionados en la guía de Ubuntu/Debian ya no existen.

¿Hay alguna forma de deshacer todos estos pasos, por ejemplo, revertir el script de instalación de paquetes, gems y clonación?

¿Sigue siendo necesario instalar 18.04 sobre 20.04?

Recibo un error al instalar nodejs:

# apt install nodejs

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias