2017-02-23 93 views
8

我試圖僅使用Laravel Forge將特定的供應商文件上傳到我的服務器。 原因是因爲我在我的一些依賴關係中編輯了代碼,現在發生的情況是我網站的某些功能被破壞了,因爲當我從Envoyer推送到我的服務器時,Envoyer從我的GitHub倉庫中抓取。使用Laravel的Envoyer上傳特定的供應商文件

我的GitHub庫不包含供應商目錄,因爲它不應該因爲Iv'e添加該目錄到我的gitignore文件

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

我已經試過白色像目錄裏列出的某些文件夾所以:

/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文件,但部署

如何上傳我的依賴關係的版本(我編輯的依賴)後,仍然得到類似的消息。 請告訴我現在情況是,Envoyer被搶奪通過作曲家所有的依賴關係,因此從依賴回購霎那,那是偉大的,但我需要能夠安裝一些那些依賴我自己的版本

任何想法

+2

永不,永遠編輯供應商文件夾中的文件。嚴重的是,如果你已經這樣做了,那麼你正在進入一個痛苦的世界,應該考慮重構以避免它,而不是試圖與一個完善的部署系統作鬥爭,這個系統幾乎完全基於沒有人編輯過的文件廠商文件夾。 – Joe

+1

而不是從供應商編輯文件,請嘗試擴展軟件包,如果不可行,請分叉項目並啓動您自己的軟件包。 – Camilo

回答

0

正如在問題本身的評論中提到的那樣,這是一個非常危險的情況,你可以更好地服務於擴展包或分叉包,然後使用它。

這就是說,它看起來像你有一個git問題:完全基於錯誤你得到的問題看起來好像它不是包含模塊文件(你是否真的檢查過模塊文件存在?)以及更多/home/forge/default/bootstrap/../vendor/autoload.php不存在。根據您提供的.gitignore這是正確的(您忽略供應商中的所有文件 - /vendor/* - 只包括目錄本身 - !/vendor - 和子目錄/文件misd - !/vendor/misd)。您或者需要包含/vendor/autoload.php - !/vendor/autoload.php - 或者您需要在事實之後生成它。