پکیج منیجر یا سامانه مدیریت بسته
سامانه مدیریت بسته یا پکیج منیجر چیست ؟!
در علم نرمافزار، سامانه مدیریت بسته (package management system) یا به اختصار مدیر بسته، به مجموعه ابزارهایی گفته میشود که برای نصب، بروزرسانی، پیکربندی یا حذف یک بسته نرمافزاری در سیستمعامل استفاده میشود. مدیر بسته معمولاً شامل پایگاه دادهای حاوی نسخه بسته نرمافزاری و وابستگیهای آن میباشد. این اطلاعات از تداخل بستهها با یکدیگر جلوگیری بعمل آورده و همه پیش نیازهای نصب یک بسته نرمافزاری را فراهم میاورد.
بستهها شامل نرمافزارها، برنامههای کاربردی و دادهها میباشند. بستهها همچنین حاوی فایلهای فراداده میباشند که اطلاعاتی از قبیل نام نرمافزار، توضیحی درباب وظیفه نرمافزار، شماره نسخه، سازنده، چک سام و لیست وابستگیهای نرمافزار را در خود جای میدهند. همزمان با نصب و راهاندازی، فایلهای فراداده در پایگاه داده محلی سیستم ذخیره میشوند.
سامانه مدیریت بسته، وظیفه ساماندهی زمان و هزینه را بر عهده دارد به اینگونه که با مدیریت از راه دور و با استفاده از تکنولوژی توزیع بسته، نیاز به نصب و بروزرسانی دستی را از بین میبرد و آن را به صورت اتوماتیک انجام میدهد. این روش اصولاً برای شرکتهای بزرگ که از سیستمعاملهایی مانند لینوکس یا دیگر سیستمعاملهای شبه یونیکس که شامل صدها یا هزارها بسته نرمافزاری هستند، مفید است. در سالهای اخیر، سامانه مدیریت بسته به یکی از اجزای حیاتی هر سیستمی تبدیل شدهاست.
در ادامه با تعدادی از این سیستمهای مدیریت بسته آشنا میشویم.
پکیج منیجر bower :
Bower یک پکیج منیجر برای فن آوریهای سمت کلاینت است و توانایی نصب ، جستجو و حذف کتابخانههای Javascript،HTML،CSS دارد.
مزایای bower :
- نصب ابزارها و کتابخانهها توسط یک خط فرمان!
- به جای اینکه در سایتهای مختلف ورژن کتابخانهها را پیگیری کنید و update شدن یا نشدن آنها را بررسی نمایید(مثلا آیا jQueryمورد استفاده درپروژه ، آخرین نسخه است؟) ، با استفاده از Bower در کمترین زمان ممکن این کار را انجام دهید.
- نصب آفلاین. وقتی کتابخانه ای برای اولین بار نصب شود کش شده و دفعات بعد برای نصب همان کتابخانه(و البته همان ورژن) از کش استفاده خواهد کرد.(مگر اینکه کاربر صراحتا کش را خالی کرده باشد).
- نصب کتابخانههای وابسته. اگر کتابخانه ای وابسته به کتابخانههای دیگر باشد (مثل وابستگی Twitter Bootstrap به jQuery)، بطور خودکار وابستگیها نیز نصب میگردند.
نصب Bower :
در خط فرمان دستور npm install bower که باعث نصب bower به صورت global میشود. سپس برای نصب کتابخانههای آن مثلا کتابخانه angular از دستور bower install angular میتوان استفاده کرد. یا اگر بخواهیم ورژن خاصی از یک کتابخانه را نصب کنیم، مثلا ورژن 1.7 jquery از دستور bower install jquery#1.7.0 استفاده باید کرد.
پکیج منیجر npm :
Node.js دارای یک سیستم مدیریت بسته به نام NPM یا همان Node Package Manager است. NPM برای نصب ماژولهای جدید مورد استفاده قرار میگیرد. که به طور خودکار همراه با node.js نصب میشود. در سیستم عامل ubuntu هم توسط دستور apt-get install npm میتونید npm رو نصب کنید.
بعد از نصب، نوبت به استفاده از npm میرسه. برای استفاده از npm نیاز به یک فایل package.json داریم که اطلاعات مورد نظر ما رو توی خودش داشته باشه. این فایل رو میشه به صورت دستی ایجاد کرد و هم میشه با استفاده از دستور npm init به صورت اتوماتیک ساخت.
برای ساخت فایل package.json به صورت اتوماتیک، یه فولدر بسازید و وارد اون بشید. با نگه داشتن کلید shift و زدن کلیک راست، گزینهی open command window here برای شما ظاهر میشه که با زدن اون، پنجرهی command برای شما باز میشه (میتونید به جای اینکار، پنجرهی command یا terminal خودتون رو هرجایی باز کنید و مسیر رو به دایرکتوری مورد نظر که همین فولدر هست تغییر بدید). با نوشتن دستور npm init فرآیند ساخت فایل package.json آغاز میشه.
فرآیند ساخت فایل package.json :
- اول از همه از شما اسم پروژه پرسیده میشه(نام پروژه خود را در این قسمت باید وارد کنید. توجه داشته باشید که نام پروژه نباید دارای فاصله و یا حروف فارسی و کاراکترهای خاص باشد)
- تو قدم دوم باید ورژن برنامه رو وارد کنید(نام پروژه و version آن مهمترین بخش فایل package.json شما می باشد و بدون آن ها این فایل غیر قابل استفاده خواهد بود)
- قدم سوم توضیحاتی در مورد برنامه میخواد
- قدم چهارم نقطه شروع برنامه رو مشخص میکنه (فایلی که برنامه از اونجا آغاز میشه)
- قدم پنجم مربوط به تست برنامه میشه
- قسمت ششم مربوط به git و نگهداری برنامه میشه
- در قسمت هفتم کلمات کلیدی رو وارد میکنید
- در قسمت هشتم اسم نویسنده برنامه نوشته میشه
- در قسمت نهم هم لایسنس برنامه
دقت کنید که اگر هر بخش رو خالی بذارید و اینتر بزنید، مقدار پیشفرضی که توی پرانتز نوشته شده جاگزین میشه و اگه مقداری توی پرانتز نداشته باشه خالی میمونه. الان اگه به فولدری که ساخته بودید نگاه بندازید میبینید که فایلی تحت عنوان package.json ساخته شده. اگه این فایل رو باز کنید میبینید که همهی اطلاعات به طور کاملا واضح نوشته شدن و به راحتی میتونید اونا رو تغییر بدید.
نصب package جدید توسط npm :
برای نصب package جدید دو راه داریم؛ یکی اینکه از طریق command پیش بریم و یکی دیگه اینکه فایل package.json رو تغییر بدیم. نتیجهی هردو کار یکسان میشه. برای شروع، یک پکیج رو از طریق command نصب میکنیم. برای اینکار npm install express را تایپ کنید.
برای اینکه پکیجی که نصب میکنیم به صورت سراسری نصب شه و به اون دسترسی داشته باشیم g- رو در انتهای دستورمون به کار میبریم. برای مثال با نوشتن دستور npm install –g firebase، پکیج firebase دانلود شده و به صورت سراسری در دسترس قرار میگیره؛ به این صورت که از این به بعد دستور firebase در command مثل دستور npm و دستور git و دستورات مشابه اینها عمل میکنه. npm در اینجا فقط نقش نصب کنندهی این پکیج رو بازی میکنه و از اینجا به بعد firebase به صورت مستقل عمل میکنه. و با کدی مانند firebase deploy از آن استفاده میکنیم.