Home Development Tools composer Introduction to composer commands: install and update and their differences

Introduction to composer commands: install and update and their differences

Oct 21, 2019 pm 02:35 PM
composer

composer is a dependency management tool for php. It allows you to declare code libraries that your project depends on and it will install them for you in your project.

Introduction to composer commands: install and update and their differences

However, novices may not know how to "install them".

Some answers on the Internet say composer install, and some say composer update. Both of them seem to be able to successfully download and install dependencies. So what is the difference between them?

Related recommendations: "composer Tutorial"

The first thing to understand is that all dependencies are defined in composer.json , some basic usage and examples are given in the manual. You may have noticed that when specifying a version number, we don't necessarily specify an exact version. Then it may happen that for the same composer.json, the dependency files we pull at different times may be different (because composer will pull the latest dependency when the conditions are met), resulting in some abnormal situation.

composer update and composer install appeared to solve this problem.

When you execute composer update, composer will read the dependencies specified in composer.json, analyze them, and pull the latest version of the dependencies that meet the conditions. Then he will put the pulled dependencies into the vendor directory, and write the precise version numbers of all pulled dependencies into the composer.lock file.

What composer install does is very similar, except for the first step. When you already have a copy of composer.lock locally, it will read your composer.lock instead of composer.json, and use this as a standard to download dependencies. When you don't have composer.lock locally, what it does is actually no different from composer update.

This means that as long as you have a copy of composer.lock locally, you can guarantee that you can pull the same dependencies no matter how long it takes. And if you incorporate it into the version control of your project, then you can ensure that everyone and every computer in your project, no matter what system, can pull the exact same dependencies to reduce potential dependencies. Impact on deployment. Of course, please remember that the command you should use is composer install.

So when should I use composer update? When you modify your dependencies, whether you add a new dependency, modify the dependency version, or delete a dependency, if you execute composer install at this time, there will be no changes, but you You will get a warning message

Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Copy after login

Some people may be curious about how php knows that I have modified the dependency, or composer.lock has expired. It's very simple. If you open composer.lock, you will find a hash field in it, which is the hash value of the corresponding dependency at that time. If the values ​​are inconsistent, you will naturally know that a change has occurred.

At this time, you should update your dependencies through composer update.

If you do not want to affect other installed dependencies and only update the parts you modified, you can determine the scope of update by specifying a whitelist. For example, composer update monolog/monolog will only update monolog/ Monlog is a dependency, and other dependencies will be ignored even if they are updated.

The above is the detailed content of Introduction to composer commands: install and update and their differences. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Use Composer to solve the dilemma of recommendation systems: andres-montanez/recommendations-bundle Use Composer to solve the dilemma of recommendation systems: andres-montanez/recommendations-bundle Apr 18, 2025 am 11:48 AM

When developing an e-commerce website, I encountered a difficult problem: how to provide users with personalized product recommendations. Initially, I tried some simple recommendation algorithms, but the results were not ideal, and user satisfaction was also affected. In order to improve the accuracy and efficiency of the recommendation system, I decided to adopt a more professional solution. Finally, I installed andres-montanez/recommendations-bundle through Composer, which not only solved my problem, but also greatly improved the performance of the recommendation system. You can learn composer through the following address:

Laravel Introduction Example Laravel Introduction Example Apr 18, 2025 pm 12:45 PM

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

Solve caching issues in Craft CMS: Using wiejeben/craft-laravel-mix plug-in Solve caching issues in Craft CMS: Using wiejeben/craft-laravel-mix plug-in Apr 18, 2025 am 09:24 AM

When developing websites using CraftCMS, you often encounter resource file caching problems, especially when you frequently update CSS and JavaScript files, old versions of files may still be cached by the browser, causing users to not see the latest changes in time. This problem not only affects the user experience, but also increases the difficulty of development and debugging. Recently, I encountered similar troubles in my project, and after some exploration, I found the plugin wiejeben/craft-laravel-mix, which perfectly solved my caching problem.

Laravel framework installation method Laravel framework installation method Apr 18, 2025 pm 12:54 PM

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

How to view the version number of laravel? How to view the version number of laravel How to view the version number of laravel? How to view the version number of laravel Apr 18, 2025 pm 01:00 PM

The Laravel framework has built-in methods to easily view its version number to meet the different needs of developers. This article will explore these methods, including using the Composer command line tool, accessing .env files, or obtaining version information through PHP code. These methods are essential for maintaining and managing versioning of Laravel applications.

How to simplify email marketing with Composer: DUWA.io's application practices How to simplify email marketing with Composer: DUWA.io's application practices Apr 18, 2025 am 11:27 AM

I'm having a tricky problem when doing a mail marketing campaign: how to efficiently create and send mail in HTML format. The traditional approach is to write code manually and send emails using an SMTP server, but this is not only time consuming, but also error-prone. After trying multiple solutions, I discovered DUWA.io, a simple and easy-to-use RESTAPI that helps me create and send HTML mail quickly. To further simplify the development process, I decided to use Composer to install and manage DUWA.io's PHP library - captaindoe/duwa.

Using Dicr/Yii2-Google to integrate Google API in YII2 Using Dicr/Yii2-Google to integrate Google API in YII2 Apr 18, 2025 am 11:54 AM

VprocesserazrabotkiveB-enclosed, Мнепришлостольностьсясзадачейтерациигооглапидляпапакробоглесхетсigootrive. LEAVALLYSUMBALLANCEFRIABLANCEFAUMDOPTOMATIFICATION, ČtookazaLovnetakProsto, Kakaožidal.Posenesko

laravel installation code laravel installation code Apr 18, 2025 pm 12:30 PM

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

See all articles