2017-02-23 6 views
8

Laravel Forge를 사용하여 특정 공급 업체 파일 만 내 서버에 업로드하려고합니다. 이유는 필자가 의존성에서 코드를 편집했기 때문입니다. Envoyer에서 내 서버로 푸시 할 때 Envoyer가 내 GitHub 레포에서 가져 오기 때문에 내 사이트의 특정 기능이 손상되고 있습니다.Laravel의 Envoyer로 특정 공급 업체 파일 업로드

이 Iv'e 내가 같은 디렉토리 내에서 특정 폴더를 나열 흰색 시도했습니다

/vendor/* 
/node_modules 
Homestead.yaml 
Homestead.json 
.env 

내 gitignore 파일에 디렉토리를 추가하지해야하기 때문에 같은 공급 업체 디렉토리를 포함하지 않는 내 GitHub의의의 repo 그래서 :

/vendor/* 
/node_modules 
Homestead.yaml 
Homestead.json 
.env 
!/vendor 
!/vendor/misd 

하지만 내 서버에 Envoyer에서 배포 한 후 후, 내 사이트가 작동을 멈 춥니 다 나는 오류 메시지를받을

Warning: require(/home/forge/default/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /home/forge/default/bootstrap/autoload.php on line 17 

나는 화이트리스트에 autoload.php 파일을 포함했지만, 아직도 내가 종속성 내 버전 (I 편집 종속성)를 업로드 할 수있는 방법

를 배포 한 후 유사한 메시지가했습니다. 무슨 지금 일어나고 내가 그 종속성 일부의 내 자신의 버전을 설치

어떤 아이디어 할 수 있어야합니다, Envoyer는 종속성의 repo에서 잡는 따라서, 작곡가를 통해 모든 종속성을 잡아된다는 것이다 큰 먹으 렴하지만

+2

절대 공급 업체 폴더에있는 파일을 편집하지 마십시오. 진지하게, 당신이 이것을 해낸다면, 당신은 고통의 온 세상으로 발을 들여 놓고 있으며, 누구도 파일을 편집하지 않는다는 사실에 거의 기반한 잘 구축 된 배치 시스템에 맞서 싸우려는 시도보다는 그것을 피하기 위해 리팩토링을 고려해야합니다. 공급 업체 폴더. – Joe

+1

공급 업체의 파일을 편집하는 대신 패키지를 확장하고 가능하지 않은 경우 프로젝트를 포크하고 자신의 패키지를 시작하십시오. – Camilo

답변

0

질문 자체에 대한 의견에서 언급했듯이 이것은 매우 위험한 상황이며 패키지를 확장하거나 포크로 작성한 다음이를 사용하는 것이 훨씬 더 효과적입니다.

당신은 자식 문제가있는 것 같아요 : 오류가 발생하면 모듈 파일을 포함하지 않는 것보다 문제가 발생합니다 (실제로 모듈을 점검했는지 확인하십시오. 파일이 있습니까?) 이상이 /home/forge/default/bootstrap/../vendor/autoload.php이 없습니다. .gitignore을 기반으로하면 올바른 것으로 간주됩니다 (공급 업체의 모든 파일을 무시하고 !/vendor - 하위 디렉토리/파일 misd-). /vendor/autoload.php - !/vendor/autoload.php 중 하나를 포함해야합니다. 그렇지 않으면 사실 이후에 생성해야합니다.