Some commands\parameters\descriptions in composer
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 require
php composer.phar require vendor/package:2.* vendor/package2:dev-master
- --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!

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics



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.

I encountered a common but tricky problem when developing a large PHP project: how to effectively manage and inject dependencies. Initially, I tried using global variables and manual injection, but this not only increased the complexity of the code, it also easily led to errors. Finally, I successfully solved this problem by using the PSR-11 container interface and with the power of Composer.

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 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.

I encountered a tricky problem when developing a new Laravel project: how to quickly build a fully functional and easy-to-manage content management system (CMS). I tried multiple solutions, but all gave up because of complex configuration and inconvenient maintenance. Until I discovered the LaravelCMS package mki-labs/espresso, which not only simple to install, but also provides powerful functions and intuitive management interface, which completely solved my problem.

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.

I'm having a tough problem when developing a complex web application: how to effectively handle JavaScript errors and log them. I tried several methods, but none of them could meet my needs until I discovered the library dvasilenko/alterego_tools. I easily solved this problem through the installation of this library through Composer and greatly improved the maintainability and stability of the project. Composer can be learned through the following address: Learning address

Summary Description: When dealing with complex data types, you often encounter problems of how to uniformly represent and operate. This problem can be easily solved with Composer using the phrity/o library. It provides encapsulation classes and traits for various data types, making data processing more consistent and efficient.
