개발 도구 composer Composer.lock 파일의 기능은 무엇입니까?

Composer.lock 파일의 기능은 무엇입니까?

Nov 23, 2019 am 11:24 AM
composer

다음은 작곡가.lock 파일의 역할을 소개하기 위해 composer가 을 사용하여 작성한 튜토리얼 칼럼입니다. 친구들에게 도움이 되길 바랍니다. 도움이 필요해요!

Composer.lock 파일의 기능은 무엇입니까?

Composer 기본 사용

프로젝트에서 Composer.json 사용#🎜🎜 #

프로젝트에서 작곡가를 사용하려면 작곡가.json 파일이 있어야 합니다. 이 파일은 주로 패키지와 다른 요소 태그 간의 상호 관계를 선언하는 데 사용됩니다.

require 키워드

Composer.json에서 가장 먼저 해야 할 일은 require 키워드를 사용하는 것입니다. . 프로젝트에 필요한

코드는 다음과 같습니다:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}
로그인 후 복사

보시다시피 require 개체는 패키지 이름(monolog/monolog)과 패키지 버전은 1.0입니다. *

Package naming

기본적으로 패키지 이름은 메인 이름/프로젝트 이름(monolog/monolog)이어야 합니다. , 그러나 프로젝트는 우리의 패키지이기도 합니다. 예를 들어 igorw/json 및 seldaek/json

Package version

The version of monolog we 사용해야 하는 버전은 1.0.*입니다. 이는 버전이 1.0.0, 1.0.2 또는 1.0.99와 같은 1.0 분기인 한

버전 정의의 두 가지 방법: #🎜🎜 #

1. 표준 버전: 정의 보장된 버전 패키지 파일(예: 1.0.2

2) 특정 버전 범위: 유효한 버전의 범위를 정의하려면. 기호에는 >, <=, 🎜#4가 포함됩니다. 다음으로 중요한 버전: ~ 기호에 대한 가장 좋은 설명은 ~1.2는 >1.2,<2.0과 동일하지만 ~1.2.3은 동일하다는 것입니다. >=1.2.3,<버전 1.3으로 변경되었습니다.

설치 패키지

프로젝트 파일 경로

코드는 다음과 같습니다.

$ composer install
로그인 후 복사
#🎜 🎜#이렇게 하면 모노로그/모노로그 파일이 공급업체 디렉토리에 자동으로 다운로드됩니다.

다음으로 설명해야 할 것은

composer.lock - 잠금 파일

필수 패키지를 모두 설치한 후 작곡가는 A를 생성합니다. 표준 패키지 버전 파일은 Composer.lock 파일에 있습니다. 이렇게 하면 모든 패키지의 버전이 잠깁니다.

작곡가.lock을 사용하여(물론 작곡가.json과 함께) 프로젝트 버전을 제어합니다.

이것은 설치 명령을 사용하여 처리할 때 매우 중요합니다. , 먼저 Composer.lock 파일이 존재하는지 확인합니다. 해당 버전이 다운로드됩니다(composer.json의 구성에 의존하지 않음). 즉, 프로젝트를 다운로드하는 사람은 누구나 동일한 버전을 받게 됩니다. .

composer.lock이 존재하지 않는 경우, 작곡가는 작곡가.json을 통해 필요한 패키지와 상대 버전을 읽은 다음, 작곡가.잠금 파일을 생성합니다.

이 방법으로 패키지에 새 버전이 있는 경우 자동으로 업데이트되지 않습니다. 새 버전으로 업그레이드하려면 업데이트 명령을 사용하면 최신 버전의 패키지를 얻을 수 있고 작곡가.잠금 파일도 업데이트할 수 있습니다.

$ php composer.phar update
或者
$ composer update
로그인 후 복사

Packagist(이것은 작곡가여야 합니다. 약간 Python 패키지와 같은 느낌이지만 그다지 강력하지는 않습니다. 하하, 이 표준을 사용하면 확실히 누구나 쉽게 웹사이트를 개발할 수 있을 것입니다. 앞으로는 많은 분들이 IT코드를 배울 수 있어 더욱 편리해집니다! )

Packagist는 Composer의 메인웨어하우스에서 확인하실 수 있습니다. package. 마음대로 얻을 수 있습니다. Packagist의 목적은 누구나 사용할 수 있는 저장소, 즉 파일에 필요한 패키지를 의미합니다.

자동 로딩에 대하여

Composer는 패키지 파일을 편리하게 로드하기 위해 자동으로 Vendor/autoload.php 파일을 생성합니다. 필요할 때마다 사용하세요

require &#39;vendor/autoload.php&#39;;
로그인 후 복사

이는 제3자 코드를 아주 아주 편리하게 사용할 수 있다는 뜻입니다. 프로젝트에서 monlog를 사용해야 한다면 직접 사용할 수 있습니다. 이미 자동으로 사용하고 있습니다.

코드는 다음과 같습니다:

$log = new Monolog\Logger(&#39;name&#39;);
$log->pushHandler(new Monolog\Handler\StreamHandler(&#39;app.log&#39;, Monolog\Logger::WARNING));
$log->addWarning(&#39;Foo&#39;);
로그인 후 복사

물론 Composer.json에서 자신의 코드를 로드할 수도 있습니다.

코드는 다음과 같습니다. 다음과 같이:

{
    "autoload": {
        "psr-0": {"Acme": "src/"}
    }
}
로그인 후 복사

composer는 psr-0을 Acme 네임스페이스로 등록합니다.

네임스페이스를 통해 파일 디렉터리에 대한 매핑을 정의할 수 있습니다. src 디렉터리는 루트 디렉터리입니다. , Vendor는 동일한 수준의 디렉터리입니다. 예를 들어 src/Acme/Foo.php 파일에는 AcmeFoo 클래스

가 포함되어 있습니다. 자동 로드를 추가한 후에는 Vendor/autoload를 생성하려면 다시 설치해야 합니다. file

이 파일을 참조하면 오토로더 클래스의 강도를 반환하므로 반환된 값을 변수에 넣은 다음 더 많은 네임스페이스를 추가할 수 있습니다. 이는 개발 환경에서 매우 편리합니다. , 예:

코드는 다음과 같습니다:

$loader = require &#39;vendor/autoload.php&#39;;
$loader->add('Acme\Test', __DIR__);
로그인 후 복사

composer.lock 파일의 역할

# 🎜🎜 #install 명령은 현재 디렉터리에서 작곡가.json 파일을 읽고 종속성을 처리한 후 공급업체 디렉터리에 설치합니다.

코드는 다음과 같습니다.

composer install
로그인 후 복사

如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。

如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。

为了获取依赖的最新版本,并且升级 composer.lock 文件,你应该使用 update 命令。

代码如下:

composer update
로그인 후 복사

这将解决项目的所有依赖,并将确切的版本号写入 composer.lock。

如果你只是想更新几个包,你可以像这样分别列出它们:

代码如下:

composer update vendor/package vendor/package2
로그인 후 복사

你还可以使用通配符进行批量更新:

代码如下:

composer update vendor/*
로그인 후 복사

위 내용은 Composer.lock 파일의 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

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

LARAVEL 소개 예 LARAVEL 소개 예 Apr 18, 2025 pm 12:45 PM

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

CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 Apr 18, 2025 am 09:24 AM

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

Laravel 프레임 워크 설치 방법 Laravel 프레임 워크 설치 방법 Apr 18, 2025 pm 12:54 PM

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

Laravel의 버전 번호를 보는 방법은 무엇입니까? Laravel의 버전 번호를 보는 방법 Laravel의 버전 번호를 보는 방법은 무엇입니까? Laravel의 버전 번호를 보는 방법 Apr 18, 2025 pm 01:00 PM

Laravel 프레임 워크에는 개발자의 다양한 요구를 충족시키기 위해 버전 번호를 쉽게 볼 수있는 내장 방법이 있습니다. 이 기사는 Composer Command Line 도구 사용, .env 파일에 액세스하거나 PHP 코드를 통해 버전 정보를 얻는 것을 포함하여 이러한 방법을 탐색합니다. 이러한 방법은 Laravel 애플리케이션의 버전 관리를 유지 관리하고 관리하는 데 필수적입니다.

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

작곡가로 이메일 마케팅을 단순화하는 방법 : duwa.io의 응용 프로그램 관행 작곡가로 이메일 마케팅을 단순화하는 방법 : duwa.io의 응용 프로그램 관행 Apr 18, 2025 am 11:27 AM

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

MySQL 모드 해결 문제 : theliamysqlmodeschecker 모듈 사용 경험 MySQL 모드 해결 문제 : theliamysqlmodeschecker 모듈 사용 경험 Apr 18, 2025 am 08:42 AM

Thelia를 사용하여 전자 상거래 웹 사이트를 개발할 때 까다로운 문제가 발생했습니다. MySQL 모드가 제대로 설정되지 않아 일부 기능이 제대로 작동하지 않습니다. 약간의 탐색 후, 나는 theliamysqlmodeschecker라는 모듈을 발견했습니다.이 모듈은 Thelia가 요구하는 MySQL 패턴을 자동으로 수정하여 내 문제를 완전히 해결할 수 있습니다.

See all articles