The following tutorial column of composer will introduce some commonly used commands\parameters\instructions of composer. I hope it will be helpful to friends in need!
Install
curl -sS https://getcomposer.org/installer | php
or
php -r "readfile('https://getcomposer.org/installer');" | php
Global installation
mv composer.phar /usr/local/bin/composer
Install Chinese image
composer config -g repo.packagist composer https://packagist.phpcomposer.com
Ignore version matching
composer install/update --ignore-platform-reqs
Install plug-in package?
composer global require "fxp/composer-asset-plugin:1.2.0“
Create project create-project
You can use Composer to create a new project from an existing package. This is equivalent to executing a git clone
or svn checkout
command to install the dependencies of this package into its own vendor directory.
This command has several common uses:
- You can quickly deploy your application.
- You can check out any resource pack and develop patches for it.
- For multi-person development projects, you can use it to speed up application initialization.
To create a new Composer-based project, you can use the "create-project" command. Pass a package name and it will create the project's directory for you. You can also specify a version number in the third parameter, otherwise the latest version will be retrieved.
If the directory does not currently exist, it will be automatically created during the installation process.
php composer.phar create-project doctrine/orm path 2.2.*
In addition, you can also start this project through the existing composer.json
file without using this command.
By default, this command will look for the package you specify on packagist.org.
Create Project-Parameters
- --repository-url: Provide a custom repository to search for packages, this will be used instead of packagist.org. It can be an HTTP URL pointing to a
composer
resource library, or a local path pointing to apackages.json
file. - --stability (-s): The lowest stable version of the resource package, the default is
stable
. - --prefer-source: When a package is available, install it from
source
. - --prefer-dist: When a package is available, install it from
dist
. - --dev: Install the packages listed in the
require-dev
field. - --no-install: Disable installation package dependencies.
- --no-plugins: Disable plugins.
- --no-scripts: Disable the execution of scripts defined in the root resource package.
- --no-progress: Remove progress information, which can avoid confusing display in some terminals or scripts that do not handle line breaks.
- --keep-vcs: Skip missing VCS when creating. This is useful if you are running the create command in non-interactive mode.
Self-update self-update
To upgrade Composer itself to the latest version, just run the self-update
command. It will replace your composer.phar
file to the latest version.
php composer.phar self-update
If you want to upgrade to a specific version, you can simply specify it like this:
php composer.phar self-update 1.0.0-alpha7
If you have installed Composer for the entire system (see Global Installation), you may need to Run it under root
permissions:
sudo composer self-update
Self-update-parameters
- --rollback (-r): Roll back to the last version you have installed .
- --clean-backups: Delete old backups during the update process, making the current version after the update the only available backup.
Search search
The search
command allows you to search for dependency packages for the current project. Usually it only searches packages on packagist.org , you can simply enter your search criteria.
php composer.phar search monolog
You can also perform a multi-criteria search by passing multiple parameters.
Search-Parameters
- --only-name (-N): Search only for the specified name (exact match).
Declare dependencies require
##require The command adds a new dependency package to the current directory
composer.json in the file.
php composer.phar requireWhen adding or changing dependencies, the modified dependencies will be installed or updated. If you do not want to specify dependent packages interactively, you can specify dependent packages directly in this command.
php composer.phar require vendor/package:2.* vendor/package2:dev-masterDeclare dependencies-parameters
- --prefer-source: When there is an available package, install it from
- source
.
--prefer-dist: When a package is available, install it from - dist
.
--dev: Install the packages listed in the - require-dev
field.
--no-update: Disable automatic updates of dependencies. - --no-progress: Remove progress information, which can avoid confusing display in some terminals or scripts that do not handle line breaks.
- --update-with-dependencies Update the dependencies of the newly installed package together.
update
To get the latest versions of dependencies and upgrade the composer.lock file, you should use
update Order.
php composer.phar update
这将解决项目的所有依赖,并将确切的版本号写入 composer.lock
。
如果你只是想更新几个包,你可以像这样分别列出它们:
php composer.phar update vendor/package vendor/package2
你还可以使用通配符进行批量更新:
php composer.phar update vendor/*
更新-参数
- --prefer-source: 当有可用的包时,从
source
安装。 - --prefer-dist: 当有可用的包时,从
dist
安装。 - --dry-run: 模拟命令,并没有做实际的操作。
- --dev: 安装
require-dev
字段中列出的包(这是一个默认值)。 - --no-dev: 跳过
require-dev
字段中列出的包。 - --no-scripts: 跳过
composer.json
文件中定义的脚本。 - --no-plugins: 关闭 plugins。
- --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
- --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
- --lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
- --with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。
安装 install
install
命令从当前目录读取 composer.json
文件,处理了依赖关系,并把其安装到 vendor
目录下。
php composer.phar install
如果当前目录下存在 composer.lock
文件,它会从此文件读取依赖版本,而不是根据 composer.json
文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。
如果没有 composer.lock
文件,composer 将在处理完依赖关系后创建它。
安装-参数
- --prefer-source: 下载包的方式有两种:
source
和dist
。对于稳定版本 composer 将默认使用dist
方式。而source
表示版本控制源 。如果--prefer-source
是被启用的,composer 将从source
安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。 - --prefer-dist: 与
--prefer-source
相反,composer 将尽可能的从dist
获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。 - --dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行
--dry-run
命令,它将模拟安装并显示将会发生什么。 - --dev: 安装
require-dev
字段中列出的包(这是一个默认值)。 - --no-dev: 跳过
require-dev
字段中列出的包。 - --no-scripts: 跳过
composer.json
文件中定义的脚本。 - --no-plugins: 关闭 plugins。
- --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
- --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
The above is the detailed content of Some commands\parameters\descriptions in composer. For more information, please follow other related articles on the PHP Chinese website!

The combination of AI and Composer can improve PHP development efficiency and security. Specifically reflected in: 1. Dependency analysis and optimization: AI can predict dependencies and reduce conflicts. 2. Automated security checks: AI can identify security vulnerabilities, and it is recommended to update them. 3. Code generation and optimization: AI can automatically generate and optimize related code.

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

I'm having a tricky problem when developing a Symfony-based application: how to effectively validate JSON data format. Initially, I tried using manual verification code, but this was not only complicated, but also error-prone. After some exploration, I discovered a Composer package called ptyhard/json-schema-bundle, which brought great convenience and efficiency to my project.

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:

When developing an e-commerce platform, it is crucial to choose the right framework and tools. Recently, when I was trying to build a feature-rich e-commerce website, I encountered a difficult problem: how to quickly build a scalable and fully functional e-commerce platform. I tried multiple solutions and ended up choosing Fecmall's advanced project template (fecmall/fbbcbase-app-advanced). By using Composer, this process becomes very simple and efficient. Composer can be learned through the following address: Learning address

I had a tough problem when working on a project with a large number of Doctrine entities: Every time the entity is serialized and deserialized, the performance becomes very inefficient, resulting in a significant increase in system response time. I've tried multiple optimization methods, but it doesn't work well. Fortunately, by using sidus/doctrine-serializer-bundle, I successfully solved this problem, significantly improving the performance of the project.

When developing Laravel projects, the management of error logs is a very critical link. Recently, I encountered a problem in my project: how to efficiently capture and record all types of errors and ensure that these error messages can be processed in a timely manner. After some research, I found the lukeboy25/errorlogger package. It is installed through Composer and can greatly simplify the management process of error logs. You can learn composer through the following address:

When developing a Laravel application, I encountered a common but difficult problem: how to improve the security of user accounts. With the increasing complexity of cyber attacks, a single password protection is no longer enough to ensure the security of users' data. I tried several methods, but the results were not satisfactory. Finally, I installed the wiebenieuwenhuis/laravel-2fa library through Composer and successfully added two-factor authentication (2FA) to my application, greatly improving security.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version
God-level code editing software (SublimeText3)