Node.js / npm / آهنگساز بدون روت

در یک پست وبلاگ قدیمی توضیح دادم که چگونه میزبان Node.js به صورت رایگان با استفاده از Heroku است . اکنون من راهی به شما نشان می دهم که چگونه می توانید Node.js ، npm و Composer را بر روی هر میزبان مشترک دیگری بدون حقوق ریشه با چند خط کد نصب کنید. با استفاده از آن می توانید بسته ها را نصب کنید ، برنامه های Vue.js را مستقر کنید یا فقط یک سرور Express.js راه اندازی کنید. ما همیشه در دایرکتوری کاربر کار می کنیم و از nvm - Node Package Manager استفاده می کنیم.


مهم است که از قبل مطمئن شوید که آهنگساز و گره وجود ندارد و خطوط زیر هیچ خروجی تولید نمی کنند.:

16c389ff1cdd9380cc5f9244775eb6c8

ابتدا، متغیرهای محیطی موقت را که بعداً به آنها نیاز خواهیم داشت، تعریف می‌کنیم. برای انجام این کار، دایرکتوری خانگی کاربر (معمولاً ~/، در برخی از میزبان‌های مشترک نیز /www/htdocs/xxxxxxx/) و نسخه PHP مورد نظر (برای مثال، /usr/bin/php72 با ارائه‌دهنده All-Inkl ، /usr/local/bin/php7-72LATEST-CLI با DomainFactory ) را مشخص می‌کنیم.:

16c389ff1cdd9380cc5f9244775eb6c8

حالا مطمئن می‌شویم که PHP با آخرین نسخه خود در کنسول اجرا می‌شود. برای انجام این کار، یک پوشه جدید در دایرکتوری home ایجاد می‌کنیم، یک لینک نمادین ایجاد می‌کنیم و دایرکتوری را به ابتدای متغیر محیطی PATH اضافه می‌کنیم.

16c389ff1cdd9380cc5f9244775eb6c8

اکنون ما با بارگیری ، بررسی و اجرای اسکریپت نصب ، آهنگساز جهانی را نصب کرده و سپس composer.phar را در فهرست کاربری قرار داده و دوباره یک لینک پیوند ایجاد می کنیم.:

16c389ff1cdd9380cc5f9244775eb6c8

ما از nvm برای نصب Node.js استفاده می‌کنیم. این یک اسکریپت Bash است که در واقع برای آسان کردن جابجایی بین نسخه‌های Node طراحی شده است. در اینجا، ما از این ویژگی آن که Node.js را بدون نیاز به دسترسی root نصب می‌کند، بهره می‌بریم.:

16c389ff1cdd9380cc5f9244775eb6c8

یک اصلاح کوچک در .bashrc برای من لازم بود:

16c389ff1cdd9380cc5f9244775eb6c8

اکنون می توانیم نسخه پایدار فعلی Node.js را نصب و فعال کنیم:

16c389ff1cdd9380cc5f9244775eb6c8

با کمک nvm می توانیم به راحتی نسخه ها را تغییر دهیم.

16c389ff1cdd9380cc5f9244775eb6c8

من توانستم تمام این مراحل را بدون هیچ مشکلی با چندین ارائه دهنده هاست اشتراکی آلمانی انجام دهم. برخی از هاست ها با لینک های نمادین مشکل دارند، اما این مشکل را نیز می توان با استفاده از تعاریف نام مستعار حل کرد. به عنوان مثال، فایل .bashrc زیر برای DomainFactory کار می کند.:

16c389ff1cdd9380cc5f9244775eb6c8

همچنین مشکلاتی وجود دارد، به عنوان مثال، هنگام دسترسی به /proc/stat در محیط های مجازی / اشتراکی، به همین دلیل است که، برای مثال، تابع node os.cpus () به جای شماره هسته صحیح، تعریف نشده برمی گردد . این منجر به پیام های خطایی مانند "نمی توان ویژگی "طول" تعریف نشده را در هنگام نصب بسته های npm خواند. من توانستم با استفاده از نسخه اخیر Node.js (به عنوان مثال 11.15.0) مشکل را حل کنم.

بازگشت