我应该使用 --prefer-dist 进行生产吗?

Should I use --prefer-dist for production?

当我在生产系统上执行 composer install 时,我应该使用标志 --prefer-dist 吗?

建议使用

--no-dev,因为它会阻止安装仅在开发期间需要的包。但是 --prefer-dist 是什么?正如我在 this answer 中读到的那样,这个标志使得安装的包没有 VCS 的东西。我假设我不需要在生产机器上使用它。我说得对吗?

dist 文件(例如 tar 存档)通常比克隆存储库(使用 --prefer-source 时的情况)下载更快。

主要区别在于克隆存储库将为您提供一切,而 lib 维护者可以创建 dist 本身。这意味着它们可能不包括 dist 文件中的测试。这就是为什么人们建议使用 --prefer-dist,因为它 可能 最终下载更少的文件。

无论如何,--prefer-dist 并不是真正需要的,因为 Composer 在下载 stable 依赖项时总是默认使用 dist 文件。由于在生产环境中使用不稳定的依赖项 运行 确实是一种不好的做法,您可能最终还是会下载所有包的 dist(当然除非您使用 --prefer-source)。