Composer가 라이브러리를 다시 설치하도록하는 방법은 무엇입니까?
저는 ZF2 스켈레톤 앱을 사용하고 있으며 외부 라이브러리가 git에 커밋되는 것을 방지하는 .gitignore가 있습니다. 디버깅하는 동안 저는 라이브러리의 소스를 여기저기서 변경하여 작동 방식을 배우는 것을 좋아합니다. 버전이 제어 된 경우 원래 상태로 되 돌리는 것이 매우 쉽습니다.
수정되지 않은 새로운 복사본을 다시 얻을 수 있도록 Composer가 특정 프레임 워크를 다시 설치하도록하려면 어떻게해야합니까?
추신 : 이유가 있기 때문에 .gitignore 파일을 제거하지 마십시오. 내 타사 라이브러리가 내 앱의 저장소에 들어가는 것을 방지합니다. 자동 배포 중에 항상 설치할 수 있습니다.
--prefer-source
composer 의 플래그를 사용하여 VCS 정보 (사용 가능한 경우)로 외부 패키지를 체크 아웃 할 수 있습니다. 간단히 원래 상태로 되돌릴 수 있습니다. 또한 composer update
명령을 실행하면 composer가 로컬에서 변경 한 사항을 감지하고이를 삭제할 것인지 묻습니다.
.gitignore 파일은 루트 프로젝트 (ZF2 스켈레톤)와 관련되어 있으며 공급 업체 디렉토리 (타사 라이브러리가있는 위치)가 자체 VCS에 커밋하는 것을 방지합니다. ignore 파일은 공급 업체의 git repo와 관련이 없습니다.
공급 업체 폴더를 지우십시오.
rm -rf vendor/*
제가 한:
- 특정 라이브러리의 폴더를 삭제했습니다.
composer update --prefer-source vendor/library-name
git repo와 함께 라이브러리를 다시 가져옵니다.
vendor/
디렉토리의 모든 패키지를 삭제하고 싶지 않았으므로 다음과 같이 처리했습니다.
rm -rf vendor/package-i-messed-up
composer install
다시
@aaracrr 사용자가 다른 답변에 대한 의견에서 지적했듯이 아마도 가장 좋은 대답은 동일한 버전 제약 조건으로 패키지를 다시 요구하는 것입니다.
즉.
composer require vendor/package
또는 버전 제약 지정
composer require vendor/package:^1.0.0
종속성을 다시 설치하십시오. 다음 전에 Linux에서 공급 업체 폴더 (수동) 또는 rm 명령 (프로젝트 폴더에있는 경우)을 통해 제거합니다.
rm -rf vendor/
composer update -v
https://www.dev-metal.com/composer-problems-try-full-reset/
참고 URL : https://stackoverflow.com/questions/19611346/how-to-force-composer-to-reinstall-a-library
'Development Tip' 카테고리의 다른 글
Python을 사용하여 RESTful 서비스에서 JSON 데이터를 가져 오려면 어떻게해야합니까? (0) | 2020.10.08 |
---|---|
boost :: asio :: io_service 실행 메서드가 차단 / 차단 해제 될 때 혼동 (0) | 2020.10.08 |
내용과 동일한 너비 (0) | 2020.10.08 |
Sequelize.js 쿼리를 삭제 하시겠습니까? (0) | 2020.10.08 |
0으로 나누고 0을 반환하는 방법 (0) | 2020.10.08 |