Problemi durante l'installazione di Discourse su WSL

Ciao! Sto cercando di far funzionare un’istanza locale di Discourse sulla mia macchina Windows 11 per lo sviluppo utilizzando WSL.

Permettimi innanzitutto di dire che sono nuovo sia a Discourse, che a Ubuntu e WSL. Quindi gli errori provengono chiaramente dalla mia parte. Aiutatemi! :frowning_with_open_mouth:

Installa Discourse su Windows 10

Questa sopra è la guida che ho seguito.

Sono al mio quarto tentativo e continuo a incontrare gli stessi errori. Fornirò un resoconto dettagliato del processo di installazione.

Innanzitutto, mi sono assicurato di avere Windows Subsystem for Linux 2. La guida suggerisce Ubuntu 18.04, quindi ho provato quella. Dopo che non ha funzionato, ho provato la 22.04 ma ancora nessun risultato. In questo resoconto, userò la 18.04 per mostrare gli errori.

Il primo passo è installare i pacchetti usando questo comando:

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

Questo funziona bene. L’unica cosa che sembra un po’ strana è questo:

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

Prima di configurare il database, devi avviare manualmente il servizio PostgreSQL e il server Redis usando i seguenti comandi:

sudo service postgresql start
redis-server --daemonize yes

Il primo comando funziona alla grande, il secondo ha giĂ  un problema:

redis-server --daemonize yes

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

sudo apt install redis-server

Va bene. Eseguo

sudo apt install redis-server

e riprovo.
Questa volta, funziona benissimo!

  1. Clona il repository Discourse
git clone https://github.com/discourse/discourse.git ~/discourse

Nessun problema qui.
Configurazione del database con:

sudo -u postgres createuser -s "$USER"

4. Questa è la parte fondamentale

cd ~/discourse
source ~/.bashrc
bundle install

Errore:

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

sudo apt install ruby-bundler

Eseguiamolo. E dopo l’installazione, esegui di nuovo

bundle install
nella directory Discourse.

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

Dopo di che, quando si tenta di installare 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, forse devo aggiornare il mio 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.

Quando controllo rbenv install --list, si interrompe a 2.5.0 e non riesco ad aggiornare rbenv.

Qualcuno può darmi un suggerimento su cosa potrei star sbagliando? Non riesco ad andare oltre il passo 4.

Grazie mille, in anticipo!

1 Mi Piace

Ho appena riscontrato lo stesso problema. Ecco cosa ho fatto (forse eccessivo ma non sono un esperto ^^)

  1. Installa 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. Installa una nuova versione di ruby:
rbenv install 3.2.2
rbenv global 3.2.2
  1. Installa la versione corretta di bundler
    gem install bundler:2.4.13

  2. Dato che ho avuto alcuni problemi di permessi usando “bundle install”, ho dovuto risolverli temporaneamente con:
    sudo chmod -R 777 /home/boris/.bundle

  3. bundle install

Spero sia d’aiuto

2 Mi Piace

Grazie! Mi ha aiutato molto.

Ora, sto riscontrando un altro errore durante l’esecuzione di

bundle exec rake db:create

Discourse richiede Redis 6.2.0 o versioni successive

Hmm, controlliamo con

redis-server -v

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

Dovrebbe funzionare, giusto? Mi scuso per l’inconveniente.

Ahah sembra che abbiamo riscontrato gli stessi problemi.

  1. Aggiungi il depot che contiene le ultime versioni
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
  1. Installa la nuova versione di Redis
sudo apt-get install redis
  1. Riavvia redis
    sudo service redis-server restart
3 Mi Piace