컴포넌트가 라이브러리를 강제로 재설치하도록 하는 방법
ZF2 스켈레톤 앱을 사용하고 있는데 외부 라이브러리가 커밋되지 않도록 하는 .gitignore가 있습니다.디버깅을 하는 동안 라이브러리의 소스에 있는 내용을 여러 곳에서 변경하여 어떻게 동작하는지 알아보는 것을 좋아합니다.이러한 버전을 제어하면 원래 상태로 되돌리는 것이 매우 쉬워집니다.
수정되지 않은 새 복사본을 다시 가져올 수 있도록 Composer에게 특정 프레임워크를 강제로 다시 설치하도록 하려면 어떻게 해야 합니까?
PS: .gitignore 파일은 이유가 있기 때문에 삭제하지 말아주세요.서드파티 라이브러리가 앱 저장소에 들어가지 않도록 합니다.자동 전개중에, 언제라도 인스톨 할 수 있습니다.
Laravel 프레임워크에도 동일하게 적용됩니다.벤더 폴더도 gitignore 됩니다.
번째 실행 " " " "composer clearcache
그런 다음 벤더 폴더를 지웁니다.
rm -rf vendor/*
또는 문제를 일으키는 특정 모듈을 분리하여 다시 다운로드하지 않아도 됩니다.
.--prefer-source
VCS 정보(사용 가능한 경우)로 외부 패키지를 체크아웃하도록 작성자에게 플래그를 지정합니다.을 사용법, 「 」, 「 」를 는,composer update
명령어 컴포저는 로컬에서 변경한 내용을 검출하여 파기 여부를 묻습니다.
.gitignore 파일은 루트 프로젝트(ZF2 스켈레톤)와 관련되어 있으므로 벤더 dir(타사의 lib가 있는 곳)가 자신의 VCS에 커밋되지 않도록 합니다.ignore 파일은 벤더의 git repo와 관련이 없습니다.
의 모든 패키지를 삭제하고 싶지 않았습니다.vendor/
디렉토리에는 다음과 같은 방법이 있습니다.
rm -rf vendor/package-i-messed-up
composer install
하다
내가 한 일:
- 특정 라이브러리의 폴더를 삭제했습니다.
composer update --prefer-source vendor/library-name
Git repo와 함께 라이브러리를 다시 가져옵니다.
관련 기능 요청은 https://github.com/composer/composer/issues/3112 입니다.
2021-05년에 https://github.com/composer/composer/pull/9915 명령어 패치가 병합되었습니다.이 패치는 작곡가 버전 2.1.0 이후 모든 버전에서 사용할 수 있습니다.
reinstall
명령어가 Marge되어 사용 가능하게 되었습니다.
composer reinstall <package-name> # Removes and installs the package.
의존 관계를 재인스톨 합니다.다음 작업을 수행하기 전에 Linux에서 벤더 폴더(수동) 또는 rm 명령을 통해(프로젝트 폴더에 있는 경우) 제거하십시오.
rm -rf vendor/
composer update -v
https://www.dev-metal.com/composer-problems-try-full-reset/
단답
&: 를 사용하여 하나의 CLI 명령어로 실행할 수 있습니다.
composer remove vendor/package && composer require vendor/package:version
상세 답변
다음 명령으로 기존 패키지 제거:
composer remove vendor/package
사용되지 않는 의존관계를 삭제하고 다른 패키지에서 사용되는 의존관계를 삭제하지 않음으로써 패키지의 폴더, composer.json의 행 및 패키지의 전체 레코드를 composer.lock에서 삭제합니다.
그런 다음 다음 명령을 사용하여 원하는 명령을 설치합니다.
composer require vendor/package:version
이렇게 하면 composer.json에 행을 추가하고 composer.lock 및 필요한 모든 종속 패키지에 레코드를 추가하여 원하는 버전의 패키지를 설치할 수 있습니다.여러 패키지에 사용되는 패키지가 있는 경우 Composer는 패키지를 사용하여 모든 버전에 맞는 패키지를 설치하려고 합니다.이 문제가 해결되지 않으면 해당 오류 메시지와 함께 크래시됩니다.
링크
Composer를 사용하여 특정 버전의 패키지를 설치하는 방법
컴포저를 사용하여 Laravel에서 패키지를 삭제하려면 어떻게 해야 합니까?
Composer를 사용한 모듈 테마 설치, 언인스톨 및 업데이트:https://modulesunraveled.com/drupal-8-composer-and-configuration-management/installing-and-uninstalling-modules-composer
사용자 @aaracrr이 다른 답변의 코멘트에서 지적했듯이 가장 좋은 답은 동일한 버전의 제약으로 패키지를 재요구하는 것입니다.
즉,
composer require vendor/package
또는 버전 제약 조건을 지정합니다.
composer require vendor/package:^1.0.0
어떠한 이유로 강제 재인스톨을 실시하는 가장 알기 쉽고 간단한 방법을 제안하지 않았습니다.
> composer remove vendor-name/package-name && composer vendor-name/package-name
이 명령을 실행하면 패키지의 최신 버전이 설치됩니다.이전 버전의 패키지를 사용하고 있으며 패키지의 하위 호환성이 없는 경우 버전 호환성이 중단됩니다.백업하는 것을 검토해 주십시오.composer.json
첫번째.
composer reinstall vendor/package
https://getcomposer.org/doc/03-cli.md#reinstall 를 참조해 주세요.
2022년
사용할 수 있습니다.composer status
변경한 라이브러리를 나열합니다.
그리고나서composer resinstall vendor/package
변경 내용을 덮어씁니다.
이렇게 해도 또는 의 솔루션과 같이 설치된 라이브러리의 버전은 변경되지 않습니다.
언급URL : https://stackoverflow.com/questions/19611346/how-to-force-composer-to-reinstall-a-library
'it-source' 카테고리의 다른 글
PHP 함수 주석 (0) | 2022.12.19 |
---|---|
아포스트로피로 시작하는 테이블을 삭제하는 방법 (0) | 2022.12.19 |
AngularJS : 클리어 $watch (0) | 2022.12.09 |
JavaScript 알림 상자의 새 줄 (0) | 2022.12.09 |
MariaDB 교착 상태 방지 (0) | 2022.12.09 |