شخصيًا، سأقوم بمسح جهاز 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
ما هو نموذج باي الذي تستخدمه؟ لن أحاول القيام بذلك على أقل من باي 4.
سيستغرق الأمر بعض الوقت بالتأكيد.
بمجرد بناء جافا سكريبت، قم بإصدار استدعاء متصفح آخر. يجب أن يعمل عندها.
كان بالفعل (أعتقد أنه كان بعد 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)
(هذه الأوقات على جهاز الكمبيوتر الخارق الخاص بي!)
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 الخاصة بي، إلا أنها تستخدم بالفعل 4.27 جيجابايت فقط مع تشغيل Discourse وعلامة تبويب Chromium واحدة مفتوحة!
لذلك إذا كنت تواجه استخدامًا مكثفًا للتبديل (وهو بحد ذاته فكرة سيئة على بطاقة SD) فسيكون الأمر بطيئًا جدًا للوصول إلى هذه النقطة. تحقق باستخدام الأمر htop في طرفية أخرى.
قد تجد تشغيل هذا على جهاز pi بأقل من 8 جيجابايت تحديًا!
أعتقد أنني حصلت على ذلك أيضًا.
سأقوم بتشغيل ذلك وسأعود إليك.
عندما قال هذا:
كان آخر مبلغ مسجل هو هذا:
ثم تجمد (ولا يزال كذلك). من المحتمل أنه تجاوز الحد. أغلقت علامة تبويب المتصفح ولكنها لا تزال مجمدة. لا يمكنني حتى الضغط على CTRL+C.
نعم، أخشى أن جهازك الصغير يحتاج إلى المزيد من الذاكرة. بمجرد أن يصل إلى هذا الحد الأقصى، سيتجمد.
أحد الخيارات هو إضافة محرك أقراص NVMe وزيادة التبديل.
يمكنك بعد ذلك زيادة التبديل بأمان.
أعتقد أن الحل الوحيد الآخر هو الحصول على جهاز 8 جيجابايت لهذه المهمة واستخدام جهازك الحالي لشيء آخر.
يوم جيد
عندما أكتب الأمر التالي لا يحدث شيء:
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.
لقد وجدت أنه باتباع التعليمات الواردة في المنشور الأصلي، سارت الأمور بسلاسة تامة دون أي مشاكل، لذا يبدو أن البرنامج النصي والتوافق مع Pi في وضع جيد جدًا الآن، شكرًا لجميع المساهمات!
مرحباً بالجميع،
لقد قمت بإعداد Discourse بنجاح على خادم Ubuntu 24.04 LTS المحلي الخاص بي للتطوير. لقد نجح الدليل، وكلا الأمرين النهائيين يعملان بدون أخطاء.
ولكن كيف يمكنني الوصول إليه عبر الشبكة؟ خادم Ubuntu لا يحتوي على واجهة مستخدم رسومية حيث يمكن أن يعمل localhost:4200.
ويظهر ServerIP:4200 أنه لا يمكن الوصول إليه.
أي اقتراحات حول كيفية تمكين الوصول من الأجهزة المتصلة بالشبكة في شبكة LAN الخاصة بي؟
شكراً!
إذا بدأت Rails باستخدام bin/rails -b 0.0.0.0، فيجب أن يجعله متاحًا لمضيفين آخرين على شبكتك. ستحتاج بعد ذلك أيضًا إلى بدء Ember بشكل منفصل في علامة تبويب جديدة باستخدام bin/ember-cli.
بعد ذلك، يجب أن يعمل زيارة ServerIP:4200 (ما لم تكن لديك بالطبع بعض مشكلات جدار الحماية).
لقد جربت تثبيت Ubuntu 24 على WSL2. [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بصفتي مستخدمًا غير جذري (non-root)، فإن الافتقار إلى sudo في الكود يجعل من المستحيل التشغيل في النهاية. لا أعرف ما إذا كانت هناك طريقة ذكية، لكنني لم أجدها. لم أواجه هذه المشكلات مع Ubuntu 22.
بصفتي مستخدمًا جذريًا (root)، تمكنت من جعلها تعمل.
كملاحظة جانبية، هناك 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
والآن، لقد عاد للعمل مرة أخرى! ![]()
لقد حاولت للتو تثبيت discourse على Ubuntu 24 (إصدار ARM يعمل داخل VMWare على جهاز Mac OS Macbook الخاص بي). واجهت عدة مشاكل.
التغيير #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 أعلاه، كان ذلك مفيدًا.
مع التحديثات الخاصة بك، لا زال يعمل مع الإصدار الحالي. شكراً لك!