WSLでのDiscourseのインストールに関する問題

WSL を使用して Windows 11 マシンで Discourse のローカルインスタンスを開発環境で動作させようとしています。

まず、Discourse、Ubuntu、WSL のすべてが初めてであることをお伝えしておきます。したがって、エラーは明らかに私のせいです。助けてください! :frowning_with_open_mouth:

Windows 10 で Discourse をインストールする

上記は私が従ったガイドです。

4 回目の試行で、同じエラーに遭遇し続けています。インストールプロセスの詳細な内訳を提供します。

まず、Windows Subsystem for Linux 2 がインストールされていることを確認しました。ガイドでは Ubuntu 18.04 を推奨しているため、それを試しました。それが機能しなかった後、22.04 を試しましたが、結果は得られませんでした。この内訳では、エラーを示すために 18.04 を使用します。

最初のステップは、次のコマンドを使用してパッケージをインストールすることです。

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

これは問題なく機能します。少し奇妙に見えるのは次のとおりです。

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

データベースをセットアップする前に、次のコマンドを使用して PostgreSQL サービスと Redis サーバーを手動で起動する必要があります。

sudo service postgresql start
redis-server --daemonize yes

最初のコマンドはうまく機能しますが、2 番目のコマンドにはすでに問題があります。

redis-server --daemonize yes

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

sudo apt install redis-server

それは問題ありません。実行します。

sudo apt install redis-server

そしてもう一度試します。
今回は、うまく機能します!

  1. Discourse リポジトリをクローンする
git clone https://github.com/discourse/discourse.git ~/discourse

ここには問題はありません。
次のコマンドでデータベースをセットアップします。

sudo -u postgres createuser -s "$USER"

4. ここが重要な部分です

cd ~/discourse
source ~/.bashrc
bundle install

エラー:

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

sudo apt install ruby-bundler

実行します。インストール後、再度実行します。

bundle install

Discourse ディレクトリ内で。

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

その後、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.

わかりました、おそらく rbenv を使用して Ruby を更新する必要があるかもしれません。

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.

rbenv install --list を確認すると、2.5.0 でカットオフされ、rbenv を更新できないようです。

私が間違っている可能性のある点について、誰かヒントを教えていただけますか?ステップ 4 までしか進めないようです。

前もって、本当にありがとうございます!

「いいね!」 1

同じ問題が発生しました。以下は、私が試したことです(専門家ではないので、やりすぎかもしれませんが^^)。

  1. rbenvruby-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. 新しいバージョンの Ruby をインストールします。
rbenv install 3.2.2
rbenv global 3.2.2
  1. 正しい Bundler バージョンをインストールします。
    gem install bundler:2.4.13

  2. 「bundle install」を使用する際に、いくつかの権限の問題があったため、一時的に次のように修正する必要がありました。
    sudo chmod -R 777 /home/boris/.bundle

  3. bundle install

お役に立てば幸いです。

「いいね!」 2

ありがとうございます!大変助かりました。

次に、以下のコマンドを実行した際に別のエラーが発生しています。

bundle exec rake db:create

Discourse requires Redis 6.2.0 or up

うーん、確認してみましょう。

redis-server -v

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

これで動作するはずですよね?ご迷惑をおかけして申し訳ありません。

同じ問題に遭遇したようですね。

  1. 最新バージョンが含まれるリポジトリを追加します。
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
  1. 新しいRedisバージョンをインストールします。
sudo apt-get install redis
  1. Redisを再起動します。
    sudo service redis-server restart
「いいね!」 3