캐시에서 컴포저 로드

larabel에서 일부 종속성을 설치/삭제하기 위해 composer를 사용하는 데 문제가 발생했습니다.composer.json벤더 폴더를 삭제하고 처음에는 dflydev의 마크다운 패키지를 사용했지만 지금은 michelf의 php-markdown으로 변경하고 싶었지만 캐시에서 로드된 상태로 돌아오기 때문에 오래된 것을 제거할 수 없습니다.AppDataRoamingComposer왜 이런 일이 일어나는지 알 수 있는 단서가 있나요?


- Installing dflydev/markdown (dev-master dee1f7a)
Loading from cache 


질문에 대한 답변



사용하고 있는 OS 에 관계없이, 다음의 커맨드를 사용하고, 캐시를 클리어 할 수 있습니다.

php composer.phar clear-cache 

또는 컴포저가 글로벌하게 설치되어 있는 경우

composer clear-cache 



내 생각엔, 넌 내 생각대로composer명령어--no-cache옵션 플래그와 같은

composer install --no-cache 

또는

composer require <package-name> --no-cache 

또는

composer update [<package-name>] --no-cache 



모든 패키지 캐시를 지우려면 다음을 수행하십시오.

$ composer clearcache 

또는 하나 또는 몇 개의 패키지를 클리어하는 방법:

$ composer clearcache packagename1 packagename2 ... 

를 사용할 수도 있습니다.clear-cache에일리어스입니다.clearcache.

출처 : https://blog.liplex.de/clear-composer-cache/




composer는 벤더/패키지 이름 규칙에 따라 패키지를 캐시합니다.따라서 다른 벤더의 패키지에 packagename이 사용되고 있다고 해서 문제가 발생해서는 안 됩니다.

캐시 위치는 다음과 같습니다.

  • Windows: %LOCALAPPDATA%Composerfilesvendorpackagename
  • Linux: ~/.composer/cache/files/vendor/packagename
  • Mac OS: ~/.composer/cache/files/packagename



편집하지 마십시오.composer.json수동으로 파일을 작성하여 패키지를 삭제합니다. – 패키지는 다음 위치에 유지됩니다.composer.lock.

사용하다composer remove오래된 패키지를 삭제하다composer require를 인스톨 합니다.