در یک پست وبلاگ قدیمی توضیح دادم که چگونه میزبان Node.js به صورت رایگان با استفاده از Heroku است . اکنون من راهی به شما نشان می دهم که چگونه می توانید Node.js ، npm و Composer را بر روی هر میزبان مشترک دیگری بدون حقوق ریشه با چند خط کد نصب کنید. با استفاده از آن می توانید بسته ها را نصب کنید ، برنامه های Vue.js را مستقر کنید یا فقط یک سرور Express.js راه اندازی کنید. ما همیشه در دایرکتوری کاربر کار می کنیم و از nvm - Node Package Manager استفاده می کنیم.
مهم است که قبل از این اطمینان حاصل کنید که آهنگساز و گره در دسترس نیستند و خطوط زیر هیچ خروجی ایجاد نمی کنند:
16c389ff1cdd9380cc5f9244775eb6c8
ابتدا متغیرهای محیطی موقت را تنظیم می کنیم که بعداً به آنها نیاز خواهیم داشت. برای این کار ، ما فهرست کاربری کاربر (معمولاً ~ / ، در برخی از میزبانهای مشترک / www / htdocs / xxxxxxx /) و نسخه PHP مورد نظر را تعیین می کنیم (به عنوان مثال با ارائه دهنده All-Inkl / usr / bin / php72 ، با DomainFactory / usr / local / bin / php7-72LATEST-CLI):
16c389ff1cdd9380cc5f9244775eb6c8
اکنون مطمئن می شویم که آخرین نسخه PHP روی کنسول در حال اجرا است. برای این کار ، ما یک پوشه جدید در فهرست اصلی ایجاد می کنیم ، یک پیوند نرم ایجاد می کنیم و فهرست را به ابتدای PATH اضافه می کنیم.
16c389ff1cdd9380cc5f9244775eb6c8
اکنون ما با بارگیری ، بررسی و اجرای اسکریپت نصب ، آهنگساز جهانی را نصب کرده و سپس composer.phar را در فهرست کاربری قرار داده و دوباره یک لینک پیوند ایجاد می کنیم.:
16c389ff1cdd9380cc5f9244775eb6c8
برای نصب Node.js از nvm استفاده می کنیم. این یک اسکریپت bash است که در واقع به راحتی می تواند بین نسخه های گره جابجا شود. ما در اینجا از خصوصیاتی که Node.js بدون حقوق ریشه نصب شده استفاده می کنیم:
16c389ff1cdd9380cc5f9244775eb6c8
یک اصلاح کوچک در .bashrc برای من لازم بود:
16c389ff1cdd9380cc5f9244775eb6c8
اکنون می توانیم نسخه پایدار فعلی Node.js را نصب و فعال کنیم:
16c389ff1cdd9380cc5f9244775eb6c8
با کمک nvm می توانیم به راحتی نسخه ها را تغییر دهیم.
16c389ff1cdd9380cc5f9244775eb6c8
من بدون هیچ مشکلی توانستم تمام این مراحل را با برخی از ارائه دهندگان میزبانی مشترک آلمان انجام دهم. برخی از میزبان ها با لینک های خطی مشکل دارند ، اما aliase نیز می تواند کمک کند . به عنوان مثال .bashrc زیر به DomainFactory کمک می کند:
16c389ff1cdd9380cc5f9244775eb6c8
همچنین در دسترسی به / proc / stat در محیط های مجازی / اشتراکی نیز مشکلاتی وجود دارد ، به همین دلیل است که به عنوان مثال عملکرد گره os.cpus () به جای تعداد صحیح هسته ها ، تعریف نشده برمی گردد. هنگام نصب بسته های npm ، این امر منجر به پیام های خطایی مانند "نمی توان ویژگی" طول "تعریف نشده را خواند". من قادر به حل این مشکل با استفاده از نسخه های اخیر از Node.js (به عنوان مثال 11.15.0) بود که خطاب این مشکل است.