찾다
개발 도구composerComposer의 일반적인 명령 및 버전 제약 조건

다음 composer 사용법 튜토리얼 칼럼에서는 일반적으로 사용되는 패키지 관리 명령과 패키지 버전을 제한하는 방법에 대해 설명합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

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 =1.0.0

예: 1.0 - 2.0

와일드카드

와일드카드를 사용하여 버전을 정의할 수 있습니다. 1.0.*은 >=1.0

예: 1.0.*

다음으로 중요한 버전 연산자

tilde ~~

我们先通过后面这个例子去解释~操作符的用法:~1.2相当于>=1.2 =1.2.3

例子:~1.2

需要注意的是,如果~作用在主版本号上,例如~1,按照上面的说法,Composer可以安装版本1以后的主版本,但是事实上是~1会被当作~1.0对待,只能增加小版本,不能增加主版本。

折音号^

먼저 다음 예를 통해 ~ 연산자의 사용법을 설명하겠습니다. ~1.2는 >와 동일합니다. =1.2 =1.2.3 ^🎜🎜

^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 =0.3.0

例子:^1.2.3

版本稳定性

如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable。例如:

Composer의 일반적인 명령 및 버전 제약 조건

如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。

minimum-stability 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如:

{
    "require": {
        "monolog/monolog": "1.0.*@beta",
        "acme/foo": "@dev"
    }
}

以上是版本约束的介绍。

위 내용은 Composer의 일반적인 명령 및 버전 제약 조건의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 cuiqingcai에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
작곡가 및 AI : PHP 개발의 새로운 가능성작곡가 및 AI : PHP 개발의 새로운 가능성Apr 19, 2025 am 12:03 AM

AI와 작곡가의 조합은 PHP 개발 효율성과 보안을 향상시킬 수 있습니다. 특별히 반영 : 1. 종속성 분석 및 최적화 : AI는 종속성을 예측하고 충돌을 줄일 수 있습니다. 2. 자동 보안 점검 : AI는 보안 취약점을 식별 할 수 있으며이를 업데이트하는 것이 좋습니다. 3. 코드 생성 및 최적화 : AI는 관련 코드를 자동으로 생성하고 최적화 할 수 있습니다.

DICR/YII2-Google을 사용하여 YII2에서 Google API를 통합합니다DICR/YII2-Google을 사용하여 YII2에서 Google API를 통합합니다Apr 18, 2025 am 11:54 AM

vprocesserazrabotkiveb-enclosed, мнепришлостольносться악 · 뇨 зейейерациигоглапи혁 맥발 추배. LeavallysumballancefriAblancefaumdoMatification, čtookazalovnetakprosto, Kakaožidal.posenesko

작곡가를 사용하여 JSON 스키마 검증 문제를 해결하는 방법작곡가를 사용하여 JSON 스키마 검증 문제를 해결하는 방법Apr 18, 2025 am 11:51 AM

Symfony 기반 응용 프로그램을 개발할 때 까다로운 문제가 있습니다. JSON 데이터 형식을 효과적으로 검증하는 방법. 처음에는 수동 검증 코드를 사용해 보았지만 복잡 할뿐만 아니라 오류가 발생했습니다. 약간의 탐사 후, 나는 Ptyhard/Json-Schema-Bundle이라는 작곡가 패키지를 발견하여 프로젝트에 편의성과 효율성을 높였습니다.

Composer를 사용하여 권장 시스템의 딜레마를 해결하십시오 : Andres-Montanez/권장 사항-펀들Composer를 사용하여 권장 시스템의 딜레마를 해결하십시오 : Andres-Montanez/권장 사항-펀들Apr 18, 2025 am 11:48 AM

전자 상거래 웹 사이트를 개발할 때 어려운 문제가 발생했습니다. 사용자에게 개인화 된 제품 권장 사항을 제공하는 방법. 처음에는 간단한 권장 알고리즘을 시도했지만 결과는 이상적이지 않았으며 사용자 만족도에도 영향을 미쳤습니다. 추천 시스템의 정확성과 효율성을 향상시키기 위해보다 전문적인 솔루션을 채택하기로 결정했습니다. 마지막으로 Composer를 통해 Andres-Montanez/Residations-Bundle을 설치하여 문제를 해결했을뿐만 아니라 추천 시스템의 성능을 크게 향상 시켰습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

작곡가를 사용하여 Fecmall 고급 프로젝트 템플릿을 신속하게 구축하는 방법작곡가를 사용하여 Fecmall 고급 프로젝트 템플릿을 신속하게 구축하는 방법Apr 18, 2025 am 11:45 AM

전자 상거래 플랫폼을 개발할 때는 올바른 프레임 워크와 도구를 선택하는 것이 중요합니다. 최근에 기능이 풍부한 전자 상거래 웹 사이트를 구축하려고 할 때 어려운 문제가 발생했습니다. 확장 가능하고 완벽하게 기능적인 전자 상거래 플랫폼을 신속하게 구축하는 방법. 여러 솔루션을 시도하고 Fecmall의 고급 프로젝트 템플릿 (Fecmall/FBBCBase-App-Advanced)을 선택했습니다. 작곡가를 사용하면이 프로세스가 매우 간단하고 효율적입니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

교리 단체 직렬화 효율성 향상 : SIDUS/교리 서리 라이저-펀드의 적용교리 단체 직렬화 효율성 향상 : SIDUS/교리 서리 라이저-펀드의 적용Apr 18, 2025 am 11:42 AM

많은 교리 단체와 함께 프로젝트를 수행 할 때 어려운 문제가있었습니다. 엔티티가 직렬화되고 사막화 될 때마다 성능이 매우 비효율적 이어져 시스템 응답 시간이 크게 증가합니다. 여러 최적화 방법을 시도했지만 잘 작동하지 않습니다. 다행스럽게도 Sidus/Doctrine-Serializer-Bundle을 사용 하여이 문제를 성공적으로 해결하여 프로젝트의 성능을 크게 향상 시켰습니다.

Composer를 사용하여 Laravel 프로젝트에서 오류 로깅 문제를 해결합니다.Composer를 사용하여 Laravel 프로젝트에서 오류 로깅 문제를 해결합니다.Apr 18, 2025 am 11:39 AM

Laravel 프로젝트를 개발할 때 오류 로그 관리는 매우 중요한 링크입니다. 최근에 프로젝트에서 문제가 발생했습니다. 모든 유형의 오류를 효율적으로 캡처하고 기록하는 방법과 이러한 오류 메시지를 적시에 처리 할 수 ​​있는지 확인하십시오. 연구 후 Lukeboy25/ErrorLogger 패키지를 발견했습니다. 작곡가를 통해 설치되며 오류 로그의 관리 프로세스를 크게 단순화 할 수 있습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

작곡가를 사용하여 Laravel 애플리케이션의 보안을 향상시키는 방법 : Wiebenieuwenhuis/Laravel-2FA 라이브러리의 응용 프로그램작곡가를 사용하여 Laravel 애플리케이션의 보안을 향상시키는 방법 : Wiebenieuwenhuis/Laravel-2FA 라이브러리의 응용 프로그램Apr 18, 2025 am 11:36 AM

Laravel 애플리케이션을 개발할 때는 일반이지만 어려운 문제가 발생했습니다. 사용자 계정의 보안을 향상시키는 방법. 사이버 공격의 복잡성이 증가함에 따라 단일 암호 보호만으로는 사용자 데이터의 보안을 보장하기에 충분하지 않습니다. 몇 가지 방법을 시도했지만 결과는 만족스럽지 않았습니다. 마지막으로, 작곡가를 통해 Wiebenieuwenhuis/Laravel-2FA 라이브러리를 설치하고 응용 프로그램에 2 단계 인증 (2FA)을 성공적으로 추가하여 보안을 크게 향상 시켰습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경