2017-01-13 7 views
-1

프로덕션 서버의 종속성을 업데이트하기 위해 작성기 설치를 실행하려고하는데 다음 오류가 계속 발생합니다 (Laravel Forge 배포 서버에서 발생).작성자 설치로 파일을 삭제할 수 없습니다.

Loading composer repositories with package information 
Installing dependencies from lock file 
Package operations: 0 installs, 0 updates, 24 removals 
    - Removing symfony/dom-crawler (v3.2.1) 

[RuntimeException] 
Could not delete /home/forge/website.com/vendor/symfony/dom-crawler/composer.json: 

왜 이런 일이 발생합니까? 위조 서버의 전체 공급 업체 폴더를 수동으로 삭제하고 모든 종속성을 손상시키지 않고 다시 배포 할 수 있습니까?

답변

0

Here in laracasts을 설명합니다. 어쩌면 어떤 시점에서 sudo을 사용했고 파일은 이제 root에 의해 소유됩니다. 일반적으로이 작업에 다른 사용자를 사용하고 이제는 다른 사용자를 다시 사용하면 물론 파일을 제거 할 수 없습니다.

그래서

ls -l /home/forge/website.com/vendor/symfony/dom-crawler/composer.json 

이/그룹이 파일을 소유하는 사용자를 참조하려고합니다. 또한 해당 디렉토리의 사용 권한을 확인하십시오. 어쩌면 더 이상 쓸 수 없습니까?

+0

이게 문제가 된 것 같습니다. 나는'sudo'를 사용하여 vendor 폴더에있는 파일들을 삭제해야했다. – user3691644

0

작곡가가 시간 제한을 초과하고 있기 때문에 문제 일 수 있습니다. 따라서 작곡가의 시간을 늘려야 할 수도 있습니다.

당신은 어떤 속도를 얻기 위해 다음과 같은 조치를 취할 수 :

  1. 증가를 작곡가의 프로세스 시간 제한 (기본값 300) (다음과 같은 설정이 속도를 얻을 수 있도록한다면 정말 필요하지,하지만 다치게 할 수 없어)
  2. dist를 기본 설치 유형으로 설정하십시오.
  3. github에 https 프로토콜을 사용하도록 설정하는 것이 더 빠릅니다. 당신은 여전히 ​​그 이후에 문제가있는 경우

    ~/.composer/config.json 
        { 
         "config": { 
           "process-timeout":  600, 
           "preferred-install": "dist", 
           "github-protocols":  ["https"] 
           } 
           } 
    

은 또한 명확 작곡가의 캐시 할 수 있습니다

rm -rf ~/.composer/cache 

은 또한 당신은 자식을 업데이트 시도 할 수 있습니다.

비슷한 질문은 그것은 권한 문제가 될 수

+0

나는 타임 아웃을 생각하지 않는다. 입력하신 링크에 사용 권한을 나타내는 다른 오류 메시지가있는 것 같습니다. 이 오류 메시지는 300 초가 아니라 즉시 생성됩니다. 나는 효과가없는 작곡가 캐시를 삭제했다. 문제없이 rm -rf vendor를 사용할 수 있습니까? – user3691644

+0

글쎄요, 결국,'rm -rf vendor '를 실행하고'composer install'을 실행하여 제 문제를 해결했습니다. – user3691644

+0

더 잘 해결되면 대답을 수락하십시오! 그래서 다른 사람들이 무엇을해야하는지 쉽게 이해할 수 있습니다! – HelpingHand