Package Manager چیست؟ تا چند سال پیش برنامه نویسی به گونهای بود که شما با یک زبان شروع به برنامه نویسی میکردید و اگر لازم بود از کتابخانههایی استفاده کنید آن را تهیه میکردید و به پروژه خود اضافه میکردید و به کار خود ادامه می دادید. اما رفتهرفته استفاده از کتابخانههای خارج از پروژه بیشتر رایج شد و به همین شکل سورس ها و کتابخانههای رایگان در اینترنت بیشتر شد. به همین دلیل در اکثر زبانهای برنامه نویسی این نیاز به وجود آمد که ابزاری نوشته شود که کتابخانهها را مدیریت و نصب کند و برنامه نویس دیگر درگیر دانلود و نصب کتابخانهها نباشد.
مشکلاتی که هنگام دانلود یک کتابخانه به وجود میآمد وابستگیهای آن کتابخانهها بود. یعنی در نظر بگیرید که میخواهید یک کتابخانه دانلود و نصب کنید ولی متأسفانه همین کتابخانه مورد نظر خود وابسته به کتابخانه دیگری بود و آن کتابخانه هم به یک یا چند کتابخانه دیگر وابسته بود. در این حالت کار شما درآمده بود. شما باید اول وابستگیهای اولیه را نصب میکردید و بعد از آن کتابخانه مورد نظر را نصب می کردید. اگر درگیر این کار شده باشید میبینید که انجام این کار بسیار سخت و پیچیده میشد و ممکن بود که در این وابستگیها سردرگم باشید. به همین صورت ممکن بود برای استفاده از یک کتابخانه وقت خیلی زیادی را از دست میدادید. البته شما اگر با سیستم عامل لینوکس هم کار کرده باشید این مشکل در نصب بسته های نرم افزاری برای این سیستم عامل نیز وجود دارد.
برای حل مشکلاتی که گفته شد برای زبانهای برنامه نویسی و تکنولوژی های توسعه نرمافزار ابزارهایی به نام package manager ارائه شد. package managerها با بسته ها یا مجموعه های نرم افزاری درگیر است و اعمالی را مانند نصب و بروزرسانی و یا حذف می کند. با استفاده از package manager میتوان تصمیم گرفت که کدام ورژن از هر بسته نصب باشد و هر بار که لازم بود پکیج ها آپدیت شوند.
همچنین دیگر نیازی نیست که درگیر وابستگیها شوید و خود package manager قبل از نصب کتابخانه مورد نظر وابستگیها را پیدا کرده و به پروژه اضافه می کند. امروزه بسته به نوع زبان و تکنولوژی مورد استفاده package manager های مختلفی وجود دارد که هرکدام روش کار مخصوص به خود را دارند. برای مثال برای node js میتوان npm و yarn را نام برد و یا برای زبان برنامه نویسی جاوا میتوان gradle, maven را نام برد. در تصویر زیر مجموعه ای مدیر پکیج ها را آورده ایم.
یکی از کاربرد های package manager این است که شما به راحتی میتوانید پروژه خود را از یک ماشین به ماشین دیگر انتقال داده و در ماشین مقصد به کار خود ادامه دهید بدون اینکه نگران خراب شدن لینک کتابخانهها و پکیج ها باشید. زیرا که در ماشین مقصد به package manager دستور میدهید که بسته ها را دوباره آماده و نصب کند.
برای مثال اگر شما یک پروژه را از سایت گیت هاب دریافت کنید و پروژه مورد نظر از پکیج استفاده کرده باشد متوجه خواهید شد که برنامه نویس فقط فایلهای پروژه خود را بر روی گیت هاب گذاشته است ولی خبری از سورس کتابخانههای استفاده شده نیست. خب برای حل این مشکل شما باید به package manager مورد نظر دستور دهید که بسته ها را نصب کرده و بعد از آن قادر خواهید بود تا پروژه را اجرا کنید.با وب سایت tosinso همراه باشید.
بنیانگذار توسینسو و برنامه نویس
مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود