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 <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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel은 웹 응용 프로그램을 쉽게 구축하기위한 PHP 프레임 워크입니다. 설치 : Composer를 사용하여 전 세계적으로 Laravel CLI를 설치하고 프로젝트 디렉토리에서 응용 프로그램을 작성하는 등 다양한 기능을 제공합니다. 라우팅 : Routes/Web.php에서 URL과 핸들러 간의 관계를 정의하십시오. 보기 : 리소스/뷰에서보기를 작성하여 응용 프로그램의 인터페이스를 렌더링합니다. 데이터베이스 통합 : MySQL과 같은 데이터베이스와 상자 외 통합을 제공하고 마이그레이션을 사용하여 테이블을 작성하고 수정합니다. 모델 및 컨트롤러 : 모델은 데이터베이스 엔티티를 나타내고 컨트롤러는 HTTP 요청을 처리합니다.

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

CRAFTCMS를 사용하여 웹 사이트를 개발할 때 특히 CSS 및 JavaScript 파일을 자주 업데이트 할 때 자주 리소스 파일 캐싱 문제가 발생하면 이전 버전의 파일이 여전히 브라우저에서 캐싱 될 수 있으므로 사용자는 최신 변경 사항을 볼 수 없습니다. 이 문제는 사용자 경험에 영향을 줄뿐만 아니라 개발 및 디버깅의 어려움을 증가시킵니다. 최근에 나는 프로젝트에서 비슷한 문제를 겪었고, 약간의 탐색 후 플러그인 Wiejeben/Craft-Laravel-Mix를 발견하여 캐싱 문제를 완벽하게 해결했습니다.

메일 마케팅 캠페인을 할 때 까다로운 문제가 있습니다. HTML 형식으로 효율적으로 메일을 작성하고 보내는 방법. 기존의 접근 방식은 수동으로 코드를 작성하고 SMTP 서버를 사용하여 이메일을 보내는 것이지만 이는 시간이 많이 걸릴뿐만 아니라 오류가 발생하기 쉽습니다. 여러 솔루션을 시도한 후 HTML 메일을 신속하게 만들고 보내는 데 도움이되는 간단하고 사용하기 쉬운 RESTAPI 인 Duwa.io를 발견했습니다. 개발 프로세스를 더욱 단순화하기 위해 작곡가를 사용하여 duwa.io의 PHP 라이브러리 인 CaptainDoe/Duwa를 설치하고 관리하기로 결정했습니다.

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

기사 요약 :이 기사는 Laravel 프레임 워크를 쉽게 설치하는 방법에 대한 독자들을 안내하기위한 자세한 단계별 지침을 제공합니다. Laravel은 웹 애플리케이션의 개발 프로세스를 가속화하는 강력한 PHP 프레임 워크입니다. 이 자습서는 시스템 요구 사항에서 데이터베이스 구성 및 라우팅 설정에 이르기까지 설치 프로세스를 다룹니다. 이러한 단계를 수행함으로써 독자들은 라벨 프로젝트를위한 탄탄한 토대를 빠르고 효율적으로 놓을 수 있습니다.

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

Laravel을 설치하려면 다음 단계를 순서대로 수행하십시오. Composer 설치 (MacOS/Linux 및 Windows) 설치 LARAVEL 설치 프로그램 새 프로젝트 시작 서비스 액세스 애플리케이션 (URL : http://127.0.1:8000) 데이터베이스 연결 (필요한 경우)을 설정하십시오.
