Install Discourse on Ubuntu or Debian for Development

個人的には、何か保存したいものがない限り、Piをワイプして最初からやり直すか、単にクリーンな別のSDカードから始めることをお勧めします。

2つのDiscourseのインストールがあったようで、それが2番目のRedisプロセスにつながったのかもしれません。

「いいね!」 1

rm -rf * ですか? それともそれは破壊的すぎますか?

これで何とか動作するようになりました。ページ読み込みに非常に時間がかかり、時間がかかりすぎるためタイムアウトが発生します。

E, [2024-11-08T14:57:11.960623 #2213] ERROR -- : worker=0 PID:2323 running too long (65s), sending USR2 to dump thread backtraces                                                                                                            
E, [2024-11-08T14:57:18.033374 #2213] ERROR -- : worker=0 PID:2323 timeout (65s > 60s), killing                                                                                                                                              
E, [2024-11-08T14:57:20.607509 #2213] ERROR -- : reaped #<Process::Status: pid 2323 SIGKILL (signal 9)> worker=0                                                                                                                             
E, [2024-11-08T14:57:20.645299 #2213] ERROR -- : worker=1 PID:2324 running too long (63s), sending USR2 to dump thread backtraces                                                                                                            
E, [2024-11-08T14:57:20.645461 #2213] ERROR -- : worker=1 PID:2324 timeout (63s > 60s), killing                                                                                                                                              
E, [2024-11-08T14:57:20.681291 #2213] ERROR -- : reaped #<Process::Status: pid 2324 SIGKILL (signal 9)> worker=1                                                                                                                             
I, [2024-11-08T14:57:23.676422 #2555]  INFO -- : worker=0 ready                                                                                                                                                                              
I, [2024-11-08T14:57:23.681733 #2556]  INFO -- : worker=1 ready 
「いいね!」 1

どのモデルのパイを使用していますか? Pi 4未満ではこれを試しません。

間違いなく時間がかかります。

JavaScriptがビルドされたら、別のブラウザ呼び出しを発行してください。その後、機能するはずです。

それはすでに(embroider\u003ewebpack と discourse-plugins\u003eapply-patches の後だったと思います(そんな感じでした))。私は Pi 4 を使用しています。

「いいね!」 1

バックエンドのユニコーンのような(優秀な)エンジニアですね。準備はできているように見えます。フロントエンドも構築されていることを確認してください。

そして、http://localhost:4200 に接続することを忘れないでください。

ビルドが完了したことはどのようにわかりますか?

「いいね!」 1

以下のようなものになります。

[ember-cli] ビルド成功 (41838ms) – http://localhost:4200/で提供中
[ember-cli]
[ember-cli] 最も遅いノード (totalTime >= 5%) | 合計 (平均)
[ember-cli] -+-
[ember-cli] @embroider/webpack (1) | 23127ms
[ember-cli] Babel: admin (1) | 4067ms
[ember-cli] Funnel (422) | 2826ms (6 ms)

(これらの時間は私のメガPCでのものです!)

Raspberry Pi 5 (8GB):

[ember-cli] ビルド成功 (148604ms) – http://localhost:4200/で提供中
[ember-cli]
[ember-cli] 最も遅いノード (totalTime >= 5%) | 合計 (平均)
[ember-cli] -+-
[ember-cli] @embroider/webpack (1) | 83461ms
[ember-cli] @embroider/compat/app (1) | 13488ms
[ember-cli] Babel: discourse-plugins (25) | 9313ms (372 ms)
[ember-cli] Babel: admin (1) | 8695ms
[ember-cli] Funnel (407) | 8557ms (21 ms)

しかし、私のPi 5のメモリを見ると、Discourseと単一のChromiumタブが開いているだけで、すでに4.27GBを使用しています!

そのため、重いスワップ使用量に遭遇している場合(SDカード上ではそれ自体が悪い考えです)、この時点に到達するまで非常に遅くなります。別のターミナルでコマンド htop を使用して確認してください。

8GB未満のPiでこれを実行するのは難しいかもしれません!

「いいね!」 1

私もそれが得られたと思います。

それを実行して、またご連絡します。

これと言われたとき:

最後に記録された金額はこれでした:

その後フリーズしました(そして今もフリーズしたままです)。おそらく制限を超えたのでしょう。ブラウザのタブを閉じましたが、まだフリーズしたままです。CTRL+Cもできません。

はい、残念ながらあなたの小さなPiにはもっとメモリが必要です。そのように最大化されるとフリーズします。

1つの選択肢は、NVMeドライブを追加してスワップを増やすことです。

その後、安全にスワップを増やすことができます。

唯一の他の解決策は、このタスクのために8GBの5を調達し、あなたの4を他のことに使用することだと思います。

「いいね!」 1

こんにちは

以下のコマンドを入力しても何も起こりません。

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/main/linux)
The image shows a terminal window with a command to run a script for installing Rails on a Linux system. (Captioned by AI)

何か見落としていることはありますか?

wget がインストールされていないのではないでしょうか?

以下のコマンドでインストールされているか確認してください。

which wget

インストールされていない場合は、以下のコマンドでインストールできるはずです。

sudo apt-get install wget -y
「いいね!」 3

ところで、今週NWMeドライブを追加したところ、Pi 5の調子が良いです。スワップも増やしました(これは通常のLinuxシステムとは少し異なるプロセスです)。

そして最も注目すべきは、Discourseの開発インストールを完全に再インストールする必要があったことです。

OPの指示に従ったところ、問題なくスムーズに進んだので、スクリプトとPiの互換性は現在非常に良い状態にあるようです。皆様のご協力に感謝いたします!

「いいね!」 6

皆さん、こんにちは。

開発用に、ローカルのUbuntu 24.04 LTSサーバーにDiscourseを正常にセットアップしました。ガイドに従い、最後の2つのコマンドはエラーなく実行されました。

しかし、ネットワーク経由でアクセスするにはどうすればよいでしょうか? UbuntuサーバーにはGUIがないため、localhost:4200は機能しません。
また、ServerIP:4200にアクセスしようとすると、到達できないと表示されます。

LAN内のネットワークデバイスからのアクセスを有効にするための提案はありますか?

よろしくお願いします!

「いいね!」 2

bin/rails -b 0.0.0.0 で rails を起動すると、ネットワーク上の他のホストからアクセスできるようになります。その後、別のタブで bin/ember-cli を実行して ember を個別に起動する必要があります。

その後、ServerIP:4200 にアクセスすると機能するはずです(もちろん、ファイアウォールの問題がない限り)。

「いいね!」 3

WSL2 に Ubuntu 24 をインストールしてみました[1]

発生した問題は以下の通りです。

  • E: Unable to locate package libltdl7-dev

  • Your Ruby version is 3.2.1, but your Gemfile specified ~> 3.3
    Ruby のバージョンが最近 3.3 以上に引き上げられたため、スクリプトも更新が必要です: install-rails/linux at main · discourse/install-rails · GitHub

    • 私が実行したこと:
      rbenv install 3.3.7
      rbenv global 3.3.7
      rbenv rehash
  • ERROR Unsupported engine for /home/arkshine/discourse: wanted: {"pnpm":"^9"} (current: {"node":"v18.20.6","pnpm":"10.5.2"})

    • sudo が必要です: sudo pnpm install [2]
  • ERROR Failed to switch pnpm to v9.15.5. Looks like pnpm CLI is missing at "~/.local/share/pnpm/.tools/pnpm/9.15.5/bin" or is incorrect

    • pnpm install を実行した際に発生しました。以下のコマンドで修正できました。
      • npm install -g corepack@latest
      • corepack use pnpm@latest-9

非 root ユーザーで実行する場合、コードに sudo がないため、最終的に実行できません。スマートな方法があるのかは分かりませんが、見つけられませんでした。Ubuntu 22 ではこれらの問題はありませんでした。
root ユーザーでは動作させることができました。

ちなみに、代替手段として Developing Discourse using a Dev Container があります。


  1. Ruby のバージョンアップにより v3.3+ が必要になったため、Ubuntu 22 ではインストールを修正できませんでした。 ↩︎

  2. 非 root ユーザーとしてインストールした場合。 ↩︎

「いいね!」 2

Ubuntu 22について、再び動作するようになりました。私がただのバカでした。 :baymax_yes:

元々の問題は、rbenv に 3.3.0-dev バージョンしか含まれていなかったことでした。
このようなエラーが発生していました。

(base) arkshine@HOME:~/discourse$ rake db:migrate
Sorry, you can't use byebug without Readline. To solve this, you need to
rebuild Ruby with Readline support. If using Ubuntu, try sudo apt-get     install libreadline-dev and then reinstall your Ruby.
rake aborted!
LoadError: cannot load such file -- readline (LoadError)
/home/arkshine/discourse/config/application.rb:44:in '\u003ctop (required)\u003e'
internal:/home/arkshine/.rbenv/versions/3.3.0-dev/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb:136:in 'Kernel#require'
internal:/home/arkshine/.rbenv/versions/3.3.0-dev/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb:136:in 'Kernel#require'
/home/arkshine/discourse/Rakefile:7:in '\u003ctop (required)\u003e'
(See full trace by running task with --trace)

解決策は rbenv をアップグレードすることです。

git -C ~/.rbenv/plugins/ruby-build pull

その後、より新しく安定したバージョンをインストールできます。

(base) arkshine@HOME:~/discourse$ rbenv install --list
3.1.6
3.2.7
3.3.7
3.4.2
rbenv install 3.3.7
rbenv global 3.3.7
rbenv rehash

そして今、再び動作しています! :party_popper:

「いいね!」 2

MacBook上のMac OSでVMWare内のARMバージョンであるUbuntu 24にDiscourseをインストールしようとしました。いくつかの問題に遭遇しました。

変更点 #1
ImageMagickのインストールに失敗します。ImageMagick自体のインストールスクリプトには、libltld7-devへの依存関係があります。これを代わりにlibltld-devに設定する必要があります。

変更点 #2
デフォルトではRuby 3.2.1がインストールされます。これはpnmp v9.xでは動作しません。代わりに3.3.7に設定したところ、動作したようです。
古い:

ruby_version="3.2.1"

新しい:

ruby_version="3.3.7"

変更点 #3
Node 18のインストールでいくつかのエラーが発生しました。インストールスクリプトでこれをNode 20に変更したところ、動作したようです。
古い:

curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -

新しい:

curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -

上記コメントの@Arkshineさんに感謝します。大変参考になりました。

「いいね!」 6

アップデートのおかげで、現在のバージョンでも引き続き動作します。ありがとうございます!