我正在尝试使用 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 获取所有依赖项,从而从依赖项存储库中获取,这很好,但是,我需要能够安装其中一些依赖项的我自己的版本
有任何想法吗
正如对问题本身的评论中提到的,这是一个非常危险的情况,最好扩展包或分叉它,然后使用它。
话虽这么说,看起来确实有一个 git 问题:仅根据您遇到的错误,问题似乎不是您没有包含模块文件(您实际上检查过模块文件是否存在吗? )以及更多/home/forge/default/bootstrap/../vendor/autoload.php
不存在。基于.gitignore
您提供的信息是正确的(您忽略供应商中的所有文件--/vendor/*
--并且只包含目录本身--!/vendor
--以及子目录/文件misd
--!/vendor/misd
)。您要么需要包括/vendor/autoload.php
--!/vendor/autoload.php
--或者您需要在事后以某种方式生成它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)