헤드라인 Composer 2.0 릴리스에서 제공되는 성능 최적화, 새로운 기능 및 업그레이드 가이드

Composer 2.0 릴리스에서 제공되는 성능 최적화, 새로운 기능 및 업그레이드 가이드

Oct 29, 2020 pm 05:30 PM

Composer 2.0 릴리스에서 제공되는 성능 최적화, 새로운 기능 및 업그레이드 가이드

Composer 2.0 출시로 가져온 성능 최적화, 새로운 기능 및 업그레이드 가이드

Composer 어제 프로그래머의 날에 버전 2.0이 출시되었습니다. 이 버전은 Composer 1.0 베타 버전 출시 직전입니다. PHP 패키지 관리 도구로서 Composer는 8년 만에 코끼리(PHP의 로고는 코끼리입니다)에게 날개를 달아 새로운 확장 패키지(또는 종속성 패키지라고 함) 설치 및 관리 경험을 제공했습니다. 유지 관리 비용이 많이 들 뿐만 아니라 PHP 생태계를 크게 풍요롭게 합니다.

이 새 버전은 많은 새로운 기능을 제공하며, 더 중요한 것은 성능도 크게 향상되었다는 것입니다. 관심이 있으시면 Composer GitHub 리포지토리에서 자세한 업그레이드 세부 정보를 확인하실 수 있습니다. 여기서는 인기 있는 PHP 프로젝트의 새 버전과 이전 버전의 성능 비교, 주요 새 기능 및 업그레이드 방법에 대해 간략하게 소개하겠습니다. 작곡가 2.0.

성능 최적화

새 버전에서는 병렬 파일 다운로드 최적화 및 컬을 사용한 제약 조건 평가를 포함하여 Composer와 packagist.org 사이에 사용되는 프로토콜의 거의 모든 코드를 종속성 해결까지 완전히 리팩토링했습니다(즉, 버전 확장 패키지 제어) 등 이러한 재구성을 통해 속도와 메모리 사용량 측면에서 Composer 2.0이 크게 향상되었습니다.

그러나 이러한 개선의 실제 성능은 특정 사용 시나리오에 따라 다릅니다. 공식은 일부 프로젝트에서 성능이 50% 향상되었다는 보고를 받았지만 모든 시나리오에 적용되는 정확한 수치를 제공하는 기초로 사용할 수는 없습니다. 그렇습니다. 아직 Composer 2.0을 사용하지 않으셨다면 새 버전을 경험하시면 깜짝 놀라실 것입니다.

또한 Composer는 이제 수정된 확장 패키지에 해당하는 메타데이터만 로드하기 때문에 요구/제거 및 일부 업데이트가 이전보다 훨씬 빠릅니다.

다음은 현재 인기 있는 PHP 프로젝트에서 Composer 1과 Composer 2의 속도 최적화를 비교한 것입니다.

Composer 2.0 릴리스에서 제공되는 성능 최적화, 새로운 기능 및 업그레이드 가이드

보시다시피 Laravel 프로젝트의 경우 성능이 약 4배 향상되었습니다. 저는 개인적으로 Laravel 프로젝트를 초기화하기 위해 이전 버전과 새 버전을 사용해 본 경험이 있으며 실제로 육안으로 볼 수 있는 상당한 속도 향상이 있었습니다.

주요 새로운 기능 개요

Composer 2.0의 몇 가지 중요한 업데이트에 대해 간략하게 살펴보겠습니다.

아키텍처 조정

종속성 업데이트가 내부적으로 수행되는 방식이 리팩터링되었습니다. 이제 보다 결정적인 업데이트를 볼 수 있으며, 업데이트가 완료된 후 설치 프로세스가 자동으로 동시에 실행되므로 설치 중간에 네트워크 문제로 인해 프로세스가 종료되는 것을 방지할 수 있습니다.

새로운 런타임 기능

vendor/autoload.php에는 초기화 중에 플랫폼 감지 단계가 추가되었습니다. 이 단계는 주로 현재 PHP 버전과 확장 팩 버전이 일치하는지 여부를 확인하며, 일치하지 않으면 초기화가 실패합니다.

Composer 2.0 프로젝트에서는 Vendor/composer 디렉터리에서 새로운 InstalledVersions 클래스를 볼 수 있습니다. 이는 각 프로젝트에 자동으로 로드되며 런타임에 유효한 클래스를 확인하는 데 사용할 수 있습니다. 확장팩 및 해당 버전 번호.

코드가 이러한 새로운 런타임 기능에 의존하는 경우 작곡가.json의 필수 구성 항목에 "composer-runtime-api": "^2.0" 종속성 문을 추가할 수 있습니다.

오류 보고서 최적화

Composer 2.0은 종속성을 해결할 수 없을 때 오류 보고서 표시를 최적화합니다. 이제 오류 메시지는 더 짧고 명확하며 덜 반복됩니다.

임시 제약이 있는 부분 업데이트

이제 작곡가 업데이트 공급업체/패키지:1.0.*를 실행하여 지정된 확장 패키지(예: 여기에서는 공급업체/패키지) 버전을 업그레이드할 수 있습니다. 작곡가.json은 업데이트되지 않으며 업데이트되지도 않습니다. 이 임시 제약 조건을 추가하고 동시에 모든 종속성을 업데이트하려면 작곡가 업데이트 --with Vendor/package:1.0.* 명령을 사용해야 합니다.

Composer 2.0으로 업그레이드

Composer 2.0으로 업그레이드하는 것은 매우 간단합니다. 다음 명령을 실행하면 됩니다.

composer self-update --2
로그인 후 복사

Composer 2.0 릴리스에서 제공되는 성능 최적화, 새로운 기능 및 업그레이드 가이드

일부 Composer 1.0 버전 플러그인은 이후 버전에서 지원되지 않을 수 있습니다. Composer 2.0을 업그레이드하면 새로운 플랫폼 감지 메커니즘이 런타임 PHP 버전과 확장 패키지 버전이 일치하는지 감지합니다. 이는 이전의 일반 확장 패키지 종속성 해결에 문제를 일으킬 수 있습니다. 작곡가 self-update --rollback 또는 자체 작곡가를 사용할 수 있습니다. -update --1 명령은 이전 버전의 Composer로 롤백합니다. 자세한 내용은 Composer 업그레이드 가이드를 읽어보세요.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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