في منشور مدونة أقدم ، وصفت كيفية استضافة Node.js مجانًا باستخدام Heroku . سأوضح لك الآن طريقة كيفية تثبيت Node.js و npm و Composer على أي مضيف مشترك آخر بدون حقوق الجذر مع بضعة أسطر من التعليمات البرمجية. باستخدامه ، يمكنك تثبيت الحزم ونشر تطبيقات Vue.js أو مجرد بدء تشغيل خادم Express.js. نحن نعمل دائمًا في دليل المستخدم ونستخدم nvm - مدير حزمة Node.
من المهم التأكد مسبقًا من عدم وجود الملحن والعقدة وأن الأسطر التالية لا تنتج أي مخرجات:
16c389ff1cdd9380cc5f9244775eb6c8
أولاً، نقوم بتعريف متغيرات البيئة المؤقتة التي سنحتاجها لاحقاً. وللقيام بذلك، نحدد دليل المستخدم الرئيسي (عادةً ~/، وفي بعض الخوادم المشتركة أيضاً /www/htdocs/xxxxxxx/) وإصدار PHP المطلوب (على سبيل المثال، /usr/bin/php72 مع الموفر All-Inkl ، و/usr/local/bin/php7-72LATEST-CLI مع DomainFactory ).:
16c389ff1cdd9380cc5f9244775eb6c8
الآن سنتأكد من تشغيل PHP بأحدث إصدار له في سطر الأوامر. وللقيام بذلك، سننشئ مجلدًا جديدًا في الدليل الرئيسي، وننشئ رابطًا رمزيًا، ونضيف المجلد إلى بداية متغير بيئة PATH.
16c389ff1cdd9380cc5f9244775eb6c8
نقوم الآن بتثبيت برنامج composer العالمي عن طريق تنزيل نص التثبيت والتحقق منه وتنفيذه ، ثم أيضًا وضع composer.phar في دليل المستخدم وإنشاء رابط رمزي مرة أخرى:
16c389ff1cdd9380cc5f9244775eb6c8
نستخدم nvm لتثبيت Node.js. هذا سكربت Bash مصمم خصيصًا لتسهيل التبديل بين إصدارات Node.js. هنا، نستفيد من ميزته في تثبيت Node.js دون الحاجة إلى صلاحيات الجذر.:
16c389ff1cdd9380cc5f9244775eb6c8
كان التصحيح البسيط في bashrc ضروريًا بالنسبة لي:
16c389ff1cdd9380cc5f9244775eb6c8
الآن يمكننا تثبيت وتفعيل الإصدار الثابت الحالي من Node.js:
16c389ff1cdd9380cc5f9244775eb6c8
بمساعدة nvm ، يمكننا أيضًا تبديل الإصدارات بسهولة.
16c389ff1cdd9380cc5f9244775eb6c8
تمكنتُ من تنفيذ جميع هذه الخطوات بسلاسة تامة مع العديد من مزودي خدمات الاستضافة المشتركة في ألمانيا. يُعاني بعض مزودي الاستضافة من مشاكل في الروابط الرمزية، ولكن يُمكن حل هذه المشكلة باستخدام تعريفات الأسماء المستعارة . على سبيل المثال، يعمل ملف .bashrc التالي مع DomainFactory.:
16c389ff1cdd9380cc5f9244775eb6c8
توجد أيضًا مشكلات، على سبيل المثال، عند الوصول إلى /proc/stat في البيئات الافتراضية / المشتركة، ولهذا السبب، على سبيل المثال، تقوم وظيفة العقدة os.cpus() بإرجاع غير محدد بدلاً من الرقم الأساسي الصحيح. يؤدي هذا إلى ظهور رسائل خطأ مثل "لا يمكن قراءة الخاصية 'طول' غير محدد" عند تثبيت حزم npm. لقد تمكنت من حل المشكلة باستخدام إصدار Node.js حديث (على سبيل المثال 11.15.0) الذي عالج المشكلة.