راکت

فایل composerlock برای چی ایجاد میشه

4 پاسخ

سلام دوستان

دارم روی یه پروژه لاراول کار می کنم (اولین تجربه عملی من هست) و اون رو روی گیت لب بردم که بتونم با سایر دوستان شیر کنم

یه فایل برای من ایجاد شده به اسم composer.lock که نمی دونم چی هست. ایا این رو باید پوش کنم؟ اصلا چرا خودش ایجاد شده؟

ثبت پرسش جدید

پاسخ‌ها

4
Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

سلام

When running composer install for the first time, or when running
composer update a lock file called composer.lock will be created. Lock
files always contain exact version numbers, and are useful to
communicate the version you tested with to colleagues or when
publishing an application.

https://stackoverflow.com/questions/10674641/composer-lock-how-does-it-work

وقتی برای اولین بار، دستور composer install یا composer update را اجرا کنید، فایلی به نام composer.lock ساخته می‌شود. فایل‌های lock. حاوی نسخه‌های دقیق Dependencyها هستند و برای تعامل نسخه‌هایی که شما تست کرده‌اید با شریکانتان مفید می‌باشند.

موفق باشید.

IrajJavidan
IrajJavidan
@IrajJavidan1

با سلام ‌و احترام
@sariapro
پیوند زیر:
http://bmbgk.ir/?q=What+is+composer.lock+file%3F

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

در پروژه های مدرن PHP همیشه از پکیج منیجر Composer استفاده میشه.
که با کامپوزر به بیش از ۷۰،۰۰۰ پکیجی که روی ریپازیتوری کامپوزر (packagist.org) هست دسترسی داریم

وقتی شما پروژه ای رو کلون میکنی و از composer install استفاده میکنی
کامپوزر به جز کپی کردن فایل ها به پوشه vendor و ساخت فایل autoload.php ...
همچنین یک رکورد از تمام وابستگی های پروژه رو در فایل composer.json ذخیره میکنه
که همین اتفاق در حین استفاده از composer update هم می‌افته

به طور کلی در شرایط زیر فایل composer.lock آپدیت میشه

  • استفاده از composer install برای دفعه اول
  • استفاده از composer install بعد از اضافه کردن وابستگی جدید به کامپوزر
  • استفاده از composer update و به روز رسانی وابستگی ها
  • استفاده از composer update package/name و به روز رسانی یک پکیج خاص
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

همون طوری که دوستان اشاره کردند وظیفه اصلی این فایل تعیین نسخه دقیق پکیج های بکار رفته در پروژه هست و در پاسخ به سوالتون باید گفت بلی باید این فایل هم push بشود.

چون اگر بصورت تیمی کار می‌کنید مهم هست که به نحوی اطمینان حاصل کنید که تک تک اعضای تیم، از یک نسخه یکسان از پکیج ها استفاده می‌کنند. و این شرط صرفا با استفاده از فایل composer.json عملی نمی شود. بلکه نیازمند یک فایل تکمیلی بنام composer.lock هست.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام