سلام دوستان
دارم روی یه پروژه لاراول کار می کنم (اولین تجربه عملی من هست) و اون رو روی گیت لب بردم که بتونم با سایر دوستان شیر کنم
یه فایل برای من ایجاد شده به اسم composer.lock که نمی دونم چی هست. ایا این رو باید پوش کنم؟ اصلا چرا خودش ایجاد شده؟
سلام
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ها هستند و برای تعامل نسخههایی که شما تست کردهاید با شریکانتان مفید میباشند.
موفق باشید.
در پروژه های مدرن PHP همیشه از پکیج منیجر Composer استفاده میشه.
که با کامپوزر به بیش از ۷۰،۰۰۰ پکیجی که روی ریپازیتوری کامپوزر (packagist.org) هست دسترسی داریم
وقتی شما پروژه ای رو کلون میکنی و از composer install استفاده میکنی
کامپوزر به جز کپی کردن فایل ها به پوشه vendor و ساخت فایل autoload.php ...
همچنین یک رکورد از تمام وابستگی های پروژه رو در فایل composer.json ذخیره میکنه
که همین اتفاق در حین استفاده از composer update هم میافته
به طور کلی در شرایط زیر فایل composer.lock آپدیت میشه
همون طوری که دوستان اشاره کردند وظیفه اصلی این فایل تعیین نسخه دقیق پکیج های بکار رفته در پروژه هست و در پاسخ به سوالتون باید گفت بلی باید این فایل هم push بشود.
چون اگر بصورت تیمی کار میکنید مهم هست که به نحوی اطمینان حاصل کنید که تک تک اعضای تیم، از یک نسخه یکسان از پکیج ها استفاده میکنند. و این شرط صرفا با استفاده از فایل composer.json عملی نمی شود. بلکه نیازمند یک فایل تکمیلی بنام composer.lock هست.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟