Problemas ao instalar o Discourse no WSL

Olá! Estou tentando fazer uma instância local do Discourse funcionar na minha máquina com Windows 11 para desenvolvimento usando WSL.

Deixe-me primeiro dizer que sou novo no Discourse, Ubuntu e WSL. Então os erros claramente vêm de mim. Por favor, me ajude! :frowning_with_open_mouth:

Instalar Discourse no Windows 10

Acima está o guia que segui.

Estou na minha quarta tentativa e continuo encontrando os mesmos erros. Fornecerei um resumo detalhado do processo de instalação.

Primeiro, certifiquei-me de ter o Subsistema do Windows para Linux 2. O guia sugere o Ubuntu 18.04, então tentei essa versão. Depois que não funcionou, tentei a 22.04, mas ainda sem resultado. Neste resumo, usarei a 18.04 para mostrar os erros.

O primeiro passo é instalar os pacotes usando este comando:

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

Isso funciona bem. A única coisa que parece um pouco estranha é isto:

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 o banco de dados, você precisa iniciar o serviço PostgreSQL e o servidor Redis manualmente usando os seguintes comandos:

sudo service postgresql start
redis-server --daemonize yes

O primeiro comando funciona perfeitamente, o segundo já tem um problema:

redis-server --daemonize yes

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

sudo apt install redis-server

Tudo bem. Eu executo:

sudo apt install redis-server

e tento novamente.
Desta vez, funciona muito bem!

  1. Clone o repositório Discourse
git clone https://github.com/discourse/discourse.git ~/discourse

Sem problemas aqui.
Configurando o banco de dados com:

sudo -u postgres createuser -s "$USER"

4. Aqui está a parte vital

cd ~/discourse
source ~/.bashrc
bundle install

Erro:

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

sudo apt install ruby-bundler

Vamos executá-lo. E após a instalação, execute novamente:

bundle install

dentro do diretório Discourse.

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

Depois disso, ao tentar instalar o 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, talvez eu precise atualizar meu 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.

Ao verificar rbenv install --list, ele é cortado em 2.5.0 e não consigo atualizar o rbenv.

Alguém pode me dar uma dica do que posso estar fazendo de errado? Não consigo ir além da etapa 4.

Muito obrigado, desde já!

1 curtida

Acabei de encontrar o mesmo problema. Eis o que fiz (talvez um exagero, mas não sou um especialista ^^)

  1. Instalar rbenv e 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 uma nova versão do ruby:
rbenv install 3.2.2
rbenv global 3.2.2
  1. Instalar a versão correta do bundler
    gem install bundler:2.4.13

  2. Como tive alguns problemas de permissão ao usar “bundle install”, precisei corrigi-los temporariamente com:
    sudo chmod -R 777 /home/boris/.bundle

  3. bundle install

Espero que ajude

2 curtidas

Obrigado! Ajudou muito.

Agora, estou encontrando outro erro ao executar

bundle exec rake db:create

Discourse requer Redis 6.2.0 ou superior

Hmm, vamos verificar com

redis-server -v

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

Deve funcionar, certo? Desculpe pelos inconvenientes.

Ahah, parece que encontramos os mesmos problemas.

  1. Adicione o depot que contém as últimas versões
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
  1. Instale a nova versão do Redis
sudo apt-get install redis
  1. Reinicie o Redis
    sudo service redis-server restart
3 curtidas