运行一个简单的 Laravel 应用程序时,我需要大的供应商目录吗?
Posted
技术标签:
【中文标题】运行一个简单的 Laravel 应用程序时,我需要大的供应商目录吗?【英文标题】:Do I need the large Vendor directory when running a simple Laravel app? 【发布时间】:2019-02-13 06:31:18 【问题描述】:我是 Laravel 的新手。当我最终将我的新 Web 应用程序部署到主机/实时服务器时,我意识到有近 5,000 个文件被传输到它。
我不传输 node_modules 依赖项,所以不是那些文件。因为我使用的是 webpack (Laravel Mix),所以不需要服务器端的 node_modules 依赖,就可以了。
这是更大的嫌疑人。我的主机/实时服务器上是否需要它们?如果是这样,为什么我的 Laravel Web 应用程序的主要部分只有几页。
vendor/symfony = 1500 files
vendor/laravel = 900 files
vendor/mongodb = 500 files
vendor/nikic (php-parser) = 500 files
vendor/swiftmailer = 300 files
vendor/psy = 250 files
我意识到一旦部署了应用程序,我就可以调用 composer install。但是在生产服务器上安装作曲家本身对我来说似乎很奇怪。在这种情况下,我宁愿在部署期间传输文件。
大多数情况下,我想知道为什么我需要这些。它们只是所有 Laravel Web 应用程序所需的开销吗?
【问题讨论】:
我发现 Composer 经常包含在生产中不使用的依赖项中的测试文件,因此您可以删除这些文件。另请参阅:***.com/questions/26930816/… 我建议将 composer.phar 存档下载到您的生产服务器,因为它还处理 Auto-Load 和 Caching乙>。我还建议使用 git/webhooks 设置一个简单的部署系统,它可以在代码更新(迁移、缓存等)上运行最重要的命令。检查Laravels Documentation 【参考方案1】:是的。这些文件用于生成运行应用程序所需的代码(依赖项)。例如,如果您删除了此文件夹,您将无法执行任何 Laravel 的“魔术”,例如使用 Eloquent。虽然有很多文件夹和文件,但还是有必要保留它们。
这是一个很好的 article 解释供应商文件夹的确切含义。
注意:默认情况下发布到GitHub 时,此供应商文件夹为 忽略。请看根目录下的
.gitignore
file 您的应用程序。
【讨论】:
以上是关于运行一个简单的 Laravel 应用程序时,我需要大的供应商目录吗?的主要内容,如果未能解决你的问题,请参考以下文章