【发布时间】:2026-02-03 03:20:14
【问题描述】:
我正在尝试使用 Laravel Forge 仅将特定供应商文件上传到我的服务器。 原因是因为我在一些依赖项中编辑了代码,现在发生的事情是我网站的某些功能正在破坏,因为当我从 Envoyer 推送到我的服务器时,Envoyer 正在从我的 GitHub 存储库中获取。
我的 GitHub 存储库不包含供应商目录,因为它不应该包含该目录,因为我已将该目录添加到我的 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 正在通过 composer 获取所有依赖项,因此从依赖项 repo 中获取,这很好,但是我需要能够安装我自己的一些依赖项的版本
任何想法
【问题讨论】:
-
永远不要编辑供应商文件夹中的文件。说真的,如果你这样做了,你正步入一个痛苦的世界,应该考虑重构以避免它,而不是试图对抗一个几乎完全基于没有人编辑文件的事实的完善的部署系统。供应商文件夹。
-
不要编辑供应商提供的文件,而是尝试扩展包,如果不可能,请 fork 项目并启动您自己的包。
标签: git laravel-5 gitignore forge envoyer.io