Problemas al instalar Discourse en WSL

¡Hola! Estoy intentando poner en marcha una instancia local de Discourse en mi máquina con Windows 11 para trabajar en desarrollo usando WSL.

Permítanme decir primero que soy nuevo en Discourse, Ubuntu y WSL. Así que los errores claramente vienen de mi parte. ¡Por favor, ayúdenme! :frowning_with_open_mouth:

Instalar Discourse en Windows 10

Arriba está la guía que seguí.

Estoy en mi cuarto intento y sigo encontrando los mismos errores. Proporcionaré un resumen detallado del proceso de instalación.

Primero, me aseguré de tener Windows Subsystem for Linux 2. La guía sugiere Ubuntu 18.04, así que probé esa. Después de que eso no funcionó, probé la 22.04 pero todavía no obtuve resultados. En este resumen, usaré la 18.04 para mostrar los errores.

El primer paso es instalar los paquetes usando este comando:

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

Esto funciona bien. Lo único que parece un poco extraño es esto:

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

Antes de configurar la base de datos, tienes que iniciar el servicio de PostgreSQL y el servidor Redis manualmente usando los siguientes comandos:

sudo service postgresql start
redis-server --daemonize yes

El primer comando funciona a la perfección, el segundo ya tiene un problema:

redis-server --daemonize yes

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

sudo apt install redis-server

Eso está bien. Ejecuto

sudo apt install redis-server

y vuelvo a intentarlo.
¡Esta vez, funciona muy bien!

  1. Clonar el repositorio de Discourse
git clone https://github.com/discourse/discourse.git ~/discourse

No hay problemas aquí.
Configurando la base de datos con:

sudo -u postgres createuser -s "$USER"

4. Aquí está la parte vital

cd ~/discourse
source ~/.bashrc
bundle install

Error:

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

sudo apt install ruby-bundler

Vamos a ejecutarlo. Y después de la instalación, vuelve a ejecutar

bundle install

dentro del directorio de Discourse.

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

Después de eso, al intentar instalar Bundler:

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, tal vez necesite actualizar mi Ruby usando rbenv:

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.

Al verificar rbenv install --list, se corta en 2.5.0 y no puedo actualizar rbenv.

¿Alguien puede darme una pista de lo que estoy haciendo mal? No parece que pueda ir más allá del paso 4.

¡Muchas gracias de antemano!

1 me gusta

Me encontré con el mismo problema. Esto es lo que hice (quizás demasiado exagerado, pero no soy un experto ^^)

  1. Instalar rbenv y 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. Instalar una nueva versión de ruby:
rbenv install 3.2.2
rbenv global 3.2.2
  1. Instalar la versión correcta de bundler
    gem install bundler:2.4.13

  2. Como tuve algunos problemas de permisos al usar “bundle install”, necesité solucionarlo temporalmente con:
    sudo chmod -R 777 /home/boris/.bundle

  3. bundle install

Espero que ayude.

2 Me gusta

¡Gracias! Ayudó mucho.

Ahora, me encuentro con otro error al ejecutar

bundle exec rake db:create

Discourse requiere Redis 6.2.0 o superior

Hmm, vamos a comprobar con

redis-server -v

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

¿Debería funcionar, verdad? Disculpas por las molestias.

Jaja, parece que nos encontramos con los mismos problemas.

  1. Añade el depósito que contiene las últimas versiones
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
  1. Instala la nueva versión de Redis
sudo apt-get install redis
  1. Reinicia Redis
    sudo service redis-server restart
3 Me gusta