> 개발 도구 > composer > 본문

작곡가는 지정된 종속성 패키지 방법을 업데이트합니다.

藏色散人
풀어 주다: 2021-03-09 13:56:44
앞으로
3764명이 탐색했습니다.

다음 튜토리얼 칼럼인 composer에서는 Composer가 지정된 종속성 패키지를 업데이트하는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!

작곡가는 지정된 종속성 패키지 방법을 업데이트합니다.

composer는 지정된 종속성 패키지를 업데이트합니다.

compoesrrequire/update는 지정된 종속성 패키지를 업데이트할 수 있습니다( 업그레이드/다운그레이드). compoesrrequire/update都可以更新指定的依赖包(升级/降级)。

require更为灵活些,未安装则进行安装,已安装则根据传入的版本号进行升级降级
update则无法在命令行传入指定的版本号,需要先手动编辑composer.json,指定新的版本号,然后执行更新命令。

#忽略
composer require google/protobuf --ignore-platform-reqs -vvv
로그인 후 복사

require 命令

示例

// 安装包
composer require hashids/hashids:2.0.0
// 已安装 升级
composer require hashids/hashids:3.0.0
// 已安装 降级
composer require hashids/hashids:2.0.4
로그인 후 복사

update 命令

update命令无法在命令行中指定包版本号,需要手动修改composer.json文件

// 安装包
composer require hashids/hashids:2.0.0
로그인 후 복사

错误用法

composer update hashids/hashids:3.0.0
로그인 후 복사

正确用法示例

vim composer.json
"require": {
    "hashids/hashids": "3.0.0"
},
:wq
#升级到3.0.0
composer update hashids/hashids

vim composer.json
"require": {
    "hashids/hashids": "2.0.4"
},
:wq
#降级到2.0.4
composer update hashids/hashids
로그인 후 복사

同时,如果我们编辑更新了多个包的版本号,则无法使用
composer update package1
composer update package2
composer update package3
的方式去依次的更新,因为composer会校验配置文件的完整性json vs lock,你指定要我更新A,但你Bversionjsonlock中不一致,你却不要我更新它,这是有问题的。

这时只能使用composer update全局更新依赖,注意是全局包的更新操作,一些你未更改但使用了版本号范围的包也有可能被更新升级,请慎用!

install 命令

install可以用于项目初始化后,初次安装依赖,且会优先读取composer.lock中的版本号,以尽可能的保证协作开发中包版本的一致性。

composer.lock中存有的包版本记录相当于执行 composer require packageName:versionNo,不存有的相当于执行composer update packageName with versionRule in composer.json

当我们协同开发时,A 在本地安装了新的依赖包,或者更新了依赖包,会写入 composer.lock/composer.json,A 上传至仓库,B 拉取至本地后,应执行一次 composer install来同步团队的版本变更。

所以协作开发中,我们建议要同时将composer.lock/composer.json

require가 더 유연합니다. 설치되어 있지 않으면 업그레이드 또는 다운그레이드됩니다. 전달된 버전 번호에 따라.
update는 명령줄에서 지정된 버전 번호를 전달할 수 없습니다. 먼저 composer.json을 수동으로 편집하고 지정해야 합니다. 새로운
업데이트.code>버전 번호를 선택한 다음 업데이트 명령을 실행합니다.

大于/大于等于:>1.2.3 >=1.2.3
小于/小于等于:<1.2.3 <=1.2.3
确切的版本号:1.2.3 
~1.2.3: 1.2.3 <= version < 1.3
^1.2.3: 1.2.3 <= version < 2.0

{
    "php": ">=7.0",
    "ext-swoole": ">=4.0.0",
    "lib-curl": ">=7.29.0"
}
로그인 후 복사

require 명령
🎜예🎜rrreee🎜update 명령🎜🎜 update 명령은 명령줄에서 패키지 버전 번호를 지정할 수 없으며 를 수동으로 수정해야 합니다. 작곡가.json 파일 🎜rrreee🎜잘못된 사용법🎜rrreee🎜올바른 사용법 예🎜rrreee🎜동시에 여러 패키지의 버전 번호를 편집하고 업데이트하면
composer를 사용할 수 없습니다 업데이트 패키지1
composer 업데이트 패키지2
composer 업데이트 패키지3
composer이므로 순차적으로 업데이트됩니다. code>가 json 대 lock 구성 파일의 무결성을 확인합니다. A를 업데이트하도록 지정했지만 버전B jsonlock 사이에 불일치가 있지만 업데이트를 원하지 않으시는군요. 이는 문제가 됩니다. 🎜🎜현재는 composer update를 사용하여 종속성을 전역적으로 업데이트할 수 있습니다. 이는 전역 패키지에 대한 업데이트 작업이므로 버전 번호 범위를 사용할 수도 있습니다. 업데이트 및 업그레이드를 주의해서 사용하세요! 🎜🎜install 명령🎜🎜install은 프로젝트 초기화 후 처음으로 종속성을 설치하는 데 사용할 수 있으며 composer.lock의 버전 번호를 먼저 읽어서 다음을 확인합니다. 공동 개발 시 패키지 버전 일관성을 최대한 유지합니다. 🎜🎜composer.lock에 존재하는 패키지 버전 기록은 composer require packageName:versionNo를 실행하는 것과 같고, 존재하지 않는 것은 를 실행하는 것과 같습니다. 작곡가는 작곡가.json의 versionRule로 packageName을 업데이트합니다. 🎜🎜우리가 개발에 협력할 때 A는 새로운 종속성 패키지를 로컬에 설치하거나 composer.lock/composer.json에 기록될 종속성 패키지를 업데이트하고 A는 이를 웨어하우스에 업로드합니다. B가 로컬로 도착한 후 팀의 버전 변경 사항을 동기화하려면 composer install을 한 번 실행해야 합니다. 🎜🎜그래서 공동 개발 중에는 원격 웨어하우스에 composer.lock/composer.json을 동시에 업로드하는 것이 좋습니다. 🎜🎜버전 번호 범위🎜rrreee🎜

위 내용은 작곡가는 지정된 종속성 패키지 방법을 업데이트합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿