في التطوير، لا تجري ترقيات هنا.
مرحباً روبرت، شكراً على ردك. هل ‘git pull’ كافٍ لإجراء ترقية؟ (في التطوير)
نعم، ولكن لا تنسَ الجواهر (gems) والترحيلات (migrations):
git pull
bundle install
rake db:migrate
يبدو أن هناك خطأ ما في البرنامج النصي، فهو يفشل في تثبيت brew.
(هذا على جهاز Mac Air M2 جديد تمامًا)
كل شيء سار على ما يرام بعد تثبيت brew بنفسي ![]()
لاحظ أن البرنامج النصي يقوم بتثبيت إصدار Ruby 3.1.3 ثم يصبح bundle exec غاضبًا لأنك لا تستخدم 3.2.1 ![]()
[تحذير] يوصي Discourse بالتطوير باستخدام Ruby v3.2.1 أو أعلى. أنت تستخدم v3.1.3.
لم يعد هذا صحيحًا! ![]()
لن يتم تثبيت Ruby لسبب ما. أواجه هذا دائمًا:
فشل البناء (macOS 12.5.1 باستخدام ruby-build 20230309)
افحص أو نظف شجرة العمل في /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC
تم تسجيل النتائج في /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.log
آخر 10 أسطر من السجل:
تحقق من ext/psych/mkmf.log لمزيد من التفاصيل.
*** قم بإصلاح المشاكل، ثم قم بإزالة هذه الدلائل وحاول مرة أخرى إذا كنت ترغب في ذلك.
إنشاء وثائق RDoc
/private/var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC/ruby-3.2.1/lib/yaml.rb:3: تحذير: يبدو أن تثبيت Ruby الخاص بك يفتقد psych (لإخراج YAML).
للتخلص من هذا التحذير، يرجى تثبيت libyaml وإعادة تثبيت Ruby الخاص بك.
يا إلهي! واجه RDoc مشكلة:
لا يمكن تحميل الملف الذي تم البحث عنه - psych
قم بالتشغيل باستخدام --debug للحصول على تتبع كامل
make: *** [rdoc] خطأ 1
فشل
هل يمكن لأحد مساعدتي في هذا؟
لدي نفس المشكلة على نظام MacOS 13.2.1.
هذه الصفحة هي النتيجة الوحيدة من بحث جوجل عن (أجزاء من) رسالة الخطأ هذه، لذا في حال واجه شخص آخر هذا الخطأ مرة أخرى:
كنت أواجه هذا اليوم عند تشغيل rails s بعد الترقية إلى الإصدار الحالي من Ruby (3.2.1)، و Rails (7.0.4.3) وجميع تبعيات Gemfile، بما في ذلك mini_racer (0.6.3).
تم إصلاحه بعد اتباع اقتراح من هذا التعليق على GitHub: تشغيل make داخل
.../3.2.0/gems/mini_racer-0.6.3/ext/mini_racer_extension
ونسخ mini_racer_extension.bundle الناتج إلى .../3.2.0/extensions/x86_64-darwin-22/3.2.0/mini_racer-0.6.3.
تمكنت أخيرًا من تجاوز خطأ البناء بنجاح بطريقة ما (لم أحتفظ بسجل لما فعلته…)، لكنني الآن عالق عند:\n\n\nحدث خطأ أثناء تثبيت pg (1.4.6)، ولا يمكن لـ Bundler المتابعة\n\nأثناء bundle install.
\n\nتعديل:\nتم حل المشكلة باتباع التعليمات المقدمة فوق الخطأ:\n\n\nإذا كنت بحاجة إلى تثبيت postgresql@13 أولاً في مسارك، قم بتشغيل:\n echo 'export PATH=\"/opt/homebrew/opt/postgresql@13/bin:$PATH\"' >> ~/.zshrc\n\nلكي تجد المترجمات postgresql@13 قد تحتاج إلى تعيين:\n export LDFLAGS=\"-L/opt/homebrew/opt/postgresql@13/lib\"\n export CPPFLAGS=\"-I/opt/homebrew/opt/postgresql@13/include\"\n\nلكي تجد pkg-config postgresql@13 قد تحتاج إلى تعيين:\n export PKG_CONFIG_PATH=\"/opt/homebrew/opt/postgresql@13/lib/pkgconfig\"\n\nلست متأكدًا من أي منها! ![]()
بسبب مشاكل الأذونات على كمبيوتر محمول خاص بالشركة، أضطر إلى المرور عبر البرنامج النصي للتثبيت يدويًا للتعامل مع كل عنصر على حدة. عند محاولة تشغيل gem update --system، أحصل على الخطأ التالي:
sh-3.2# gem update --system
Updating rubygems-update
Fetching rubygems-update-3.4.12.gem
Successfully installed rubygems-update-3.4.12
Parsing documentation for rubygems-update-3.4.12
Installing ri documentation for rubygems-update-3.4.12
Installing darkfish documentation for rubygems-update-3.4.12
Done installing documentation for rubygems-update after 158 seconds
Parsing documentation for rubygems-update-3.4.12
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.4.12
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `block in copy_file'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `copy_file'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:492:in `copy_file'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:860:in `block in install'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1558:in `block in fu_each_src_dest'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in `fu_each_src_dest0'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1556:in `fu_each_src_dest'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:856:in `install'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:267:in `block (2 levels) in install_executables'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:251:in `chdir'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:251:in `block in install_executables'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:248:in `each'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:248:in `install_executables'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:165:in `execute'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command.rb:327:in `invoke_with_build_args'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:252:in `invoke_command'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:192:in `process_args'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:150:in `run'
/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/gem_runner.rb:51:in `run'
setup.rb:33:in `<main>'
أي أفكار حول كيفية تجاوز هذه المشكلة؟
هل استخدمت M1/M2 Apple؟ أعتقد أنه يجب التأكد من أن لديك Ruby 3.2.x كإعداد افتراضي للنظام عن طريق تثبيته باستخدام brew أولاً. ثم بالنسبة لمعالجات Apple silicon، يمكنك القيام بما يلي:
if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
fi
في ملف .zshrc الخاص بك.
لأن نظام Mac OS X يأتي مع Ruby 2.x الخاص بالنظام والذي سيفسد البرنامج النصي لتثبيت البيئة.
أيضًا، إذا كانت لديك مشكلة في بدء تشغيل الخدمة، فقم بشيء مثل:
brew services restart postgresql@13
brew services restart redis
لقد نجح الأمر معي الآن.
مرحباً بالجميع! لقد كنت أتابع منشور التثبيت هنا، وقد ساعدتني معظم النصائح المشتركة كثيراً في التغلب على بعض المشكلات التي كنت أواجهها أثناء تثبيتي على نظام MacOS M1.
لقد علقت الآن في جزء Bootstrap الأخير:
bundle exec rails server
لقد نجح الأمر أعلاه بالنسبة لي، وتمكنت من رؤية شيء ما على localhost:3000 وتسجيل المستخدم المسؤول بنجاح، ولكن بعد تشغيل bin/ember-cli، ظهر الاستثناء التالي:
$ bin/ember-cli
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
patch-package 8.0.0
Applying patches...
@ember/jquery@2.0.0 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-source@3.28.12 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
WARNING: Ember CLI v5.0.0 is not tested against Node v21.0.0. See "https://github.com/ember-cli/ember-cli/blob/master/docs/node-support.md" to find out which version of Node is best to use.
(node:22167) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Could not `import('file:///Users/myuser/discourse/app/assets/javascripts/discourse/ember-cli-build.js')`: Cannot read properties of undefined (reading 'indexOf')
تتبع المكدس وتقرير الخطأ: /var/folders/4l/ksznzcp17sg1wjyq7mmfzfkc0000gn/T/error.dump.b499a1d1d9b275ada33629ea1a84760d.log
هل فاتني شيء؟
تمكنت من تشغيل bin/ember-cli بعد إلغاء تثبيت العقدة الحالية وتثبيت node@20 عبر brew.
أرى هذا الخطأ في هذه الخطوة.
خطأ: تعذر ربط bin/c_rehash
الهدف /opt/homebrew/bin/c_rehash
هو رابط رمزي ينتمي إلى openssl@3. يمكنك إلغاء ربطه:
brew unlink openssl@3
لفرض الربط والكتابة فوق جميع الملفات المتعارضة:
brew link --overwrite openssl@1.1
لعرض جميع الملفات التي سيتم حذفها:
brew link --overwrite --dry-run openssl@1.1
فشل
وهذا الخطأ في تلك الخطوة
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': تعذر العثور على 'bundler' (2.4.13) المطلوب بواسطة /Users/Desktop/discourse/Gemfile.lock. (Gem::GemNotFoundException)
لتحديث إلى أحدث إصدار مثبت على نظامك، قم بتشغيل `bundle update --bundler`.
لتثبيت الإصدار المفقود، قم بتشغيل `gem install bundler:2.4.13`
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
from /usr/bin/bundle:23:in `<main>'
هل يمكن لأحد أن يوجهني كيف يجب أن أتابع؟ هذه هي المرة الأولى لي. @Arkshine
للأسف، لا أملك جهاز كمبيوتر يعمل بنظام macOS. أعرف أن البرنامج النصي يعمل بشكل جيد على نظامي التشغيل Windows/Linux؛ ولكن لا يمكنني اختباره على macOS.
هل حاولت تشغيل brew link --overwrite openssl@1.1، ثم تنفيذ البرنامج النصي مرة أخرى؟ ومع ذلك، هناك احتمال كبير أن يتوقف مرة أخرى عند هذا السطر.
هل يعرف أحد كيف يمكنني تعيين متغيرات البيئة في بيئة التطوير هذه؟ أحاول تشغيل SSO ولكن يبدو أنني بحاجة إلى تمكين CORS. قرأت أنه يجب علي فعل ذلك في ملف app.yml ولكن هذا الإعداد لا يحتوي عليه. هل يمكن وضعه في جدول قاعدة البيانات site_settings؟ آسف، أنا جديد في تطوير Discourse.
مرحباً @Plabforum،
أواجه نفس الخطأين بالضبط اللذين تواجههما. هل تمكنت من حلهما؟
سأكون ممتناً لأي نصيحة.
أنا آسف، ليس لدي أي أخبار جيدة. لقد استسلمت بالفعل بعد ذلك.
يؤسفني سماع ذلك. في الواقع، تمكنت من تجاوز ذلك عن طريق إلغاء ربط openssl@3 من خلال:
brew unlink openssl@3
ثم ربط openssl@1.1
brew link --overwrite openssl@1.1
أعدت تشغيل البرنامج النصي مرة أخرى دون أخطاء (حصلت على عدد قليل من التحذيرات بشأن الأشياء التي تم تثبيتها في التشغيل الأول).
يبدو أنني تمكنت من تثبيت Discourse على جهاز Macbook الخاص بي للتطوير باتباع التعليمات الواردة في هذا الموضوع. لدي سؤالان متابعة.
-
هل تلقيت تحذيرات وفشل أثناء تشغيل
bundle exec rake autospec؟ هل هذا سبب للقلق؟ يبدو أن تثبيتي يعمل كما هو متوقع ولا يُظهر أخطاء في قسم المسؤول. -
أعتذر مقدمًا إذا طرحت سؤالًا سخيفًا (أنا جديد تمامًا على هذا النوع من الحلول/الخوادم). هل أحتاج إلى تشغيل
bundle exec rails serverوbin/ember-cliوmailhogفي كل مرة أرغب في استخدام الخادم؟ وكيف يمكنني إيقاف الخادم إذا أردت؟
شكراً لدعمكم!
