개인적으로는 pi를 초기화(혹은 저장하고 싶은 것이 없는 한)하고 처음부터 다시 시작하거나, 아니면 깨끗한 별도의 SD 카드로 시작하는 것을 추천합니다.
두 개의 discourse 설치 환경이 있었던 것 같습니다. 그래서 두 번째 Redis 프로세스가 실행되었을 수 있습니다.
개인적으로는 pi를 초기화(혹은 저장하고 싶은 것이 없는 한)하고 처음부터 다시 시작하거나, 아니면 깨끗한 별도의 SD 카드로 시작하는 것을 추천합니다.
두 개의 discourse 설치 환경이 있었던 것 같습니다. 그래서 두 번째 Redis 프로세스가 실행되었을 수 있습니다.
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
어떤 모델의 pi를 사용 중이신가요? pi 4보다 낮은 사양에서는 이 작업을 시도하지 않는 것이 좋습니다.
반드시 시간이 좀 걸릴 것입니다.
JavaScript가 빌드된 후에는 브라우저 호출을 다시 실행하세요. 그러면 정상적으로 작동해야 합니다.
이미 ( embroider>webpack과 discourse-plugins>apply-patches 이후였다고 생각해요. 뭐, 그런 식이었죠) 그런 상태였습니다. 저는 Pi 4를 사용 중입니다.
그 직원들은 유니콘(백엔드)입니다. 준비가 된 것처럼 보입니다. 프론트엔드도 구축되었는지 확인해야 합니다.
그리고 http://localhost:4200에서 연결하는 것을 잊지 마세요.
빌드가 완료된 것을 어떻게 알 수 있을까요?
다음과 같은 결과를 얻게 됩니다:
[ember-cli] Build successful (41838ms) – Serving on http://localhost:4200/
[ember-cli]
[ember-cli] Slowest Nodes (totalTime >= 5%) | Total (avg)
[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] Build successful (148604ms) – Serving on http://localhost:4200/
[ember-cli]
[ember-cli] Slowest Nodes (totalTime >= 5%) | Total (avg)
[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만 실행되고 크롬 탭이 하나만 열려 있는 상태에서도 이미 4.27GB를 사용하고 있습니다!
따라서 무거운 스왑 사용(이것 자체가 SD 카드에서는 좋지 않은 방법입니다)에 직면했다면, 이 단계에 도달하는 데 매우 오랜 시간이 걸릴 것입니다. 다른 터미널에서 htop 명령을 사용하여 확인해 보세요.
8GB 미만의 메모리를 가진 Pi에서 이를 실행하는 것이 도전적일 수 있음을 알게 될 것입니다!
저도 같은 현상을 겪은 것 같습니다.
그렇게 해보고 다시 알려드리겠습니다.
이 메시지가 표시되었을 때:
마지막으로 기록된 금액은 다음과 같았습니다:
그 후 프로그램이 멈췄습니다(아직도 멈춰 있습니다). 한도를 초과한 것으로 보입니다. 브라우저 탭을 닫았지만 여전히 동결 상태입니다. CTRL+C도 작동하지 않습니다.
네, 안타깝게도 작은 파이(Raspberry Pi)에 메모리가 더 필요합니다. 메모리가 그렇게 가득 차면 시스템이 멈추게 됩니다.
한 가지 옵션은 NVMe 드라이브를 추가하고 스왑 공간을 늘리는 것입니다.
그렇게 하면 스왑 공간을 안전하게 늘릴 수 있습니다.
제 생각에는 이 작업을 위해 8GB 모델 5를 구하고, 기존 4GB 모델을 다른 용도로 사용하는 것이 유일한 해결책일 것 같습니다.
안녕하세요
다음 명령어를 입력해도 아무 반응이 없습니다:
bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/main/linux)
![]()
무엇을 놓치고 있는 걸까요?
wget이 설치되어 있지 않을 수 있습니다.
아래 명령어로 확인해 보세요.
which wget
설치되어 있지 않다면 아래 명령어로 설치할 수 있습니다.
sudo apt-get install wget -y
참고로, 이번 주에 NWMe 드라이브를 추가했는데 제 Pi 5가 아주 잘 작동하고 있습니다. 또한 스왑 공간도 늘렸는데(일반적인 리눅스 시스템과는 약간 다른 과정입니다).
특히 주목할 점은 개발용 Discourse를 완전히 다시 설치해야 했다는 것입니다.
OP의 지시를 따랐더니 전혀 문제 없이 순조롭게 진행되어, 현재 스크립트와 Pi 호환성이 매우 좋은 상태인 것 같습니다. 모든 기여에 감사드립니다!
모두 안녕하세요,
로컬 Ubuntu 24.04 LTS 서버에 개발용으로 Discourse를 성공적으로 설치했습니다. 가이드대로 진행했고, 마지막 두 명령어 모두 오류 없이 실행되고 있습니다.
하지만 네트워크를 통해 어떻게 접근할 수 있을까요? Ubuntu 서버에는 GUI가 없어 localhost:4200으로 접속할 수 없습니다.
서버IP:4200으로 접속을 시도하면 연결할 수 없다는 메시지가 표시됩니다.
LAN 내의 다른 기기에서 접속할 수 있도록 설정하는 방법에 대해 조언해 주실 수 있을까요?
감사합니다!
bin/rails -b 0.0.0.0로 rails를 시작하면 네트워크의 다른 호스트에서도 접근할 수 있게 됩니다. 그런 다음 새 탭에서 bin/ember-cli를 실행하여 ember를 별도로 시작해야 합니다.
그런 다음 ServerIP:4200을 방문하면 작동해야 합니다(물론 방화벽 문제가 없는 한).
WLS2에서 Ubuntu 24 설치를 시도했습니다. [1]
다음과 같은 문제들을 겪었습니다:
E: Unable to locate package libltdl7-dev
libltdl7-dev → libltdl-devYour 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.7rbenv global 3.3.7rbenv rehashERROR 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@latestcorepack use pnpm@latest-9비루트 권한으로 실행할 경우, 코드에 sudo가 없어 최종 실행이 불가능합니다. 지능적인 해결 방법이 있는지 모르겠지만 찾지 못했습니다. Ubuntu 22에서는 이러한 문제가 발생하지 않았습니다.
루트 권한으로 실행할 경우 정상 작동하게 만들 수 있었습니다.
참고로, 대안으로 Developing Discourse using a Dev Container 가 있습니다.
Ubuntu 22에 대해서는 다시 작동하게 만들었습니다. 제가 바보였네요. ![]()
제 원래 문제는 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 '<top (required)>'
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 '<top (required)>'
(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
이제 다시 작동합니다! ![]()
방금 Mac OS Macbook에서 VMWare로 실행 중인 Ubuntu 24(ARM 버전)에 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님의 댓글 덕분에 도움이 되었습니다.
업데이트 덕분에 현재 버전에서도 여전히 작동합니다. 감사합니다!