uglifyjs '/var/www/discourse/public/assets/_vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js' -m -c -o '/var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js' --source-map "base='/var/www/discourse/public/assets',root='/assets',url='/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js.map'"
Parse error at _vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js:1850,34
return Handlebars.compile(...arguments);
^
ERROR: Unexpected token: punc «.»
at JS_Parse_Error.get (eval at <anonymous> (/usr/lib/node_modules/uglify-js/tools/node.js:18:1), <anonymous>:71:23)
at fatal (/usr/lib/node_modules/uglify-js/bin/uglifyjs:394:27)
at run (/usr/lib/node_modules/uglify-js/bin/uglifyjs:343:9)
at Object.<anonymous> (/usr/lib/node_modules/uglify-js/bin/uglifyjs:259:5)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
rake aborted!
Errno::ENOENT: No such file or directory @ rb_file_s_size - /var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
/var/www/discourse/lib/tasks/assets.rake:287:in `size'
/var/www/discourse/lib/tasks/assets.rake:287:in `block (4 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:178:in `block in concurrent?'
/var/www/discourse/lib/tasks/assets.rake:278:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:269:in `each'
/var/www/discourse/lib/tasks/assets.rake:269:in `block (2 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:178:in `concurrent?'
/var/www/discourse/lib/tasks/assets.rake:266:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Docker Manager: FAILED TO UPGRADE
هل لديك أي أفكار؟ الموقع غير متاح نتيجة لذلك. شكرًا لك.
root@redmine:/var/discourse# ./launcher enter app
ls -al ls -al root@xxxxx-app:/var/www/discourse# ls -al /var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
-rw-r--r-- 1 discourse www-data 659907 Jan 22 04:55 /var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
شكرًا لك.. لا توجد إضافات أو تخصيصات ثقيلة على الإطلاق.. كان الأمر في الأساس تثبيتًا جديدًا في أواخر عام 2020، مع تعديلات بسيطة فقط على الإعدادات عبر واجهة المسؤول لأمور مثل أذونات المشرفين وما إلى ذلك. أمر غريب جدًا.
للأسف لم أقوم بنسخ احتياطي قبل تشغيل الترقية، رغم أن لدي بعض النسخ الاحتياطية الآلية من قبل بضعة أيام. أعتقد أن هذا هو طريقي الوحيد للخروج من هذا الموقف حاليًا.. وبما أنني لست ملمًا بلغة Ruby، فلا أدري كيف يمكنني فهم ذلك الخطأ.
آه، يبدو أن تشغيل ./launcher restart app قد أعادها إلى العمل على الأقل رغم تحديثات مخطط قاعدة البيانات التي تم تنفيذها. قبل ذلك، كانت تُرجع خطأ 500. الحمد لله
هذا هو القسم في ملف js الخاص بالبائع الذي يشكو منه:
// allow us to import this as a module
if (typeof define !== "undefined") {
define("handlebars", ["exports"], function (__exports__) {
// It might not be defined server side, which is OK for pretty-text
if (typeof Handlebars !== "undefined") {
// eslint-disable-next-line
__exports__.default = Handlebars;
__exports__.compile = function () {
// eslint-disable-next-line
return Handlebars.compile(...arguments);
};
}
});
define("handlebars-compiler", ["exports"], function (__exports__) {
// eslint-disable-next-line
__exports__.default = Handlebars.compile;
});
}
;
السطر 1850 (الذي يسبب الخطأ) هو هذا الجزء:
return Handlebars.compile(...arguments);
هل توجد أي حيلة مؤقتة يمكنني فعلها هنا لتجاوز المشكلة؟ أم أن هذا الملف سيتم توليده في كل مرة أحاول فيها الترقية؟ (ملاحظة: يبدو أنه يعتقد أنني أكملت الترقية بالكامل بعد إعادة التشغيل… لكن المظهر معطّل… أتساءل ما إذا كان بإمكاني تجاوز هذه الخطوة بطريقة ما، أو ما إذا كان عليّ الاستعادة من النسخة الاحتياطية، أساسًا…)
حسناً - لا أعرف السبب، لكنني أجريت عملية الترقية اليدوية (git pull; ./launcher rebuild app) وقد نجحت.
كثير من الأنشطة الأخرى مثل ترقية postgres وما إلى ذلك تمت كجزء من تلك الترقية اليدوية.
تخميني: كان هناك شيء في ذلك الالتزام (commit) أعلاه غير متوافق مع uglify-js أو إصدار rails أو شيء آخر في الحاوية الأصلية. كانت في الأساس ترقية تتطلب عملية الترقية ‘اليدوية’.
لأن واجهة المسؤول على الويب سمحت لي بترقية docker_manager ثم تطبيق discourse نفسه، افترضت أن هذا لن يكون ضرورياً (أعلم أنه أحياناً يُذكر أن الترقية عبر واجهة المسؤول على الويب لا يمكن إجراؤها، ويجب القيام بها يدوياً… لكن هذا لم يحدث في هذه الحالة، وكان يجب أن يحدث على الأرجح…)
واجهتُ أيضًا مشكلة عند تشغيل هذا التحديث (ترقية الويب)
بعد تنفيذ الأوامر التالية:
cd /var/discourse
git pull
./launcher rebuild app
يعمل discourse، لكن لا يمكن الدخول إلى لوحة الإدارة (/admin)
بالمناسبة، كنت أحاول استخدام هذه الوظيفة في بيئة التطوير ولم تنجح معي… كائن Handlebars يحتوي فقط على create() وليس compile()، رغم أنني قد أكون في الطريق الخطأ… لقد رفعت المشكلة هنا: Adding a bespoke raw template