다음 composer 사용법 튜토리얼 칼럼에서는 일반적으로 사용되는 패키지 관리 명령과 패키지 버전을 제한하는 방법에 대해 설명합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
공통 명령어
require 명령어
"Composer Tutorial"에서 install 명령어를 사용하여 종속 항목을 설치하는 방법을 간략하게 소개했습니다. install 명령 외에도 require 명령을 사용하면 작곡가.json에 종속성 정보를 수동으로 추가하지 않고도 종속성을 신속하게 설치할 수 있습니다.
$ composer require monolog/monolog Using version ^1.19 for monolog/monolog ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) - Installing psr/log (1.0.0) Downloading: 100% - Installing monolog/monolog (1.19.0) Downloading: 100% monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server) ...... monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome) Writing lock file Generating autoload files
Composer는 먼저 적절한 버전을 찾은 다음, 작곡가.json 파일을 업데이트하고 추가합니다. 모노로그/모노로그 패키지에 대한 관련 정보가 필요하며, 설치를 위한 관련 종속성을 다운로드하고 마지막으로 작곡가.잠금 파일을 업데이트하고 PHP 자동 로딩 파일을 생성합니다.
update 명령
update 명령을 사용하면 프로젝트의 모든 패키지 또는 특정 특정 패키지를 업데이트할 수 있습니다.
# 更新所有依赖 $ composer update # 更新指定的包 $ composer update monolog/monolog # 更新指定的多个包 $ composer update monolog/monolog symfony/dependency-injection # 还可以通过通配符匹配包 $ composer update monolog/monolog symfony/*
패키지에서 업그레이드할 수 있는 버전은 버전 제한에 따라 제한되며, 제한 버전 이상의 버전으로 패키지는 업그레이드되지 않는다는 점에 유의하시기 바랍니다. 예를 들어, Composer.json에 있는 패키지의 버전 제약 조건이 ^1.10이고 최신 버전이 2.0인 경우입니다. 그러면 update 명령은 패키지를 버전 2.0으로 업그레이드할 수 없고 버전 1.x로만 업그레이드할 수 있습니다. 버전 제한 사항은 아래 소개를 참조하세요.
remove 명령
remove 명령을 사용하여 패키지와 해당 종속성을 제거합니다(종속성이 다른 패키지에서 사용되지 않는 경우).
$ composer remove monolog/monolog Loading composer repositories with package information Updating dependencies (including require-dev) - Removing monolog/monolog (1.19.0) - Removing psr/log (1.0.0) Writing lock file Generating autoload files
search 명령
search 명령을 사용하여 패키지 검색:
$ composer search monolog monolog/monolog Sends your logs to files, sockets, inboxes, databases and various web services # 如果只是想匹配名称可以使用--only-name选项 $ composer search --only-name monolog
show 명령
show 명령을 사용하면 현재 프로젝트에 설치된 패키지에 대한 정보를 나열할 수 있습니다.
# 列出所有已经安装的包 $ composer show # 可以通过通配符进行筛选 $ composer show monolog/* # 显示具体某个包的信息 $ composer show monolog/monolog
위는 일반적으로 사용되는 명령에 대한 소개입니다.
버전 제약 조건
앞서 언급했듯이 다운로드할 패키지 버전을 지정할 수 있습니다. 예를 들어, 모노로그 버전 1.19를 다운로드하려고 합니다. 작곡가.json 파일을 통해 목표를 달성할 수 있습니다:
{ "require": { "monolog/monolog": "1.19" } }
그런 다음 설치 명령을 실행하거나 require 명령을 통해:
$ composer require monolog/monolog:1.19 # 或者 $ composer require monolog/monolog=1.19 # 或者 $composer require monolog/monolog 1.19
위와 같이 특정 버전을 지정하는 것 외에도 다양한 제약 조건을 통해 버전을 지정할 수도 있습니다. .
기본 제약 조건
정확한 버전
특정 버전을 지정하고 Composer에 이 버전만 설치하도록 지시할 수 있습니다. 그러나 다른 종속성에 다른 버전이 필요한 경우 패키지 설치 또는 업데이트가 결국 실패하고 종료됩니다.
예: 1.0.2
Scope
비교 연산자를 사용하면 패키지 범위를 지정할 수 있습니다. 이러한 연산자에는 >, >=, <, <=, !=가 포함됩니다.
여러 범위를 정의하고, 공백이나 쉼표를 사용하여 논리적 AND를 표시하고, 이중 수직 막대를 사용하여 논리적 OR을 표시할 수 있습니다. AND의 우선순위는 or보다 높습니다.
제한되지 않은 범위를 사용하면 예측할 수 없는 버전이 설치되고 하위 호환성이 깨질 수 있다는 점에 유의해야 합니다. 하이픈 연산자를 사용하는 것이 좋습니다.
예:
>=1.0 >=1.0 <2.0 >=1.0 <1.1 || >=1.2
범위(하이픈 사용)
하이픈으로 연결된 범위는 포함된 버전 범위를 나타내며 경계가 있어야 함을 의미합니다. 하이픈의 왼쪽은 >= 버전을 나타내는 반면, 하이픈 오른쪽의 상황은 좀 더 복잡합니다. 오른쪽 버전이 완전한 버전 번호가 아닌 경우 와일드카드 문자를 사용하여 완성됩니다. 예를 들어, 1.0 - 2.0은 >=1.0.0 <2.1(2.0은 2.0.*과 동일)과 동일하고, 1.0.0 - 2.1.0은 >=1.0.0 <=2.1과 동일합니다. 0.
예: 1.0 - 2.0
와일드카드
와일드카드를 사용하여 버전을 정의할 수 있습니다. 1.0.*은 >=1.0 <1.1과 동일합니다.
예: 1.0.*
다음으로 중요한 버전 연산자
tilde ~
~
我们先通过后面这个例子去解释~操作符的用法:~1.2相当于>=1.2 <2.0.0,而~1.2.3相当于>=1.2.3 <1.3.0。对于使用Semantic Versioning作为版本号标准的项目来说,这种版本约束方式很实用。例如~1.2定义了最小的小版本号,然后你可以升级2.0以下的任何版本而不会出问题,因为按照Semantic Versioning的版本定义,小版本的升级不应该有兼容性的问题。简单来说,~定义了最小的版本,并且允许版本的最后一位版本号进行升级(没懂得话,请再看一边前面的例子)。
例子:~1.2
需要注意的是,如果~作用在主版本号上,例如~1,按照上面的说法,Composer可以安装版本1以后的主版本,但是事实上是~1会被当作~1.0对待,只能增加小版本,不能增加主版本。
折音号^
^
🎜🎜^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 <2.0.0,因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3会被当作>=0.3.0 <0.4.0对待。
例子:^1.2.3
版本稳定性
如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable。例如:
如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。
minimum-stability 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如:
{ "require": { "monolog/monolog": "1.0.*@beta", "acme/foo": "@dev" } }
以上是版本约束的介绍。
위 내용은 Composer의 일반적인 명령 및 버전 제약 조건의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!