为什么推荐的带有 Composer 的 Drupal 安装方法使用 dev 作为稳定性标志?

Why does the recommended Drupal install method with Composer use dev for the stability flag?

我正在学习 PHP Composer,并且已经 运行 经历了几个使用它安装 Drupal 8 的场景。我找到的最权威的方法是 this article 中的 drupal.org。

建议使用以下命令进行初始安装:

composer create-project drupal-composer/drupal-project:8.x-dev my_site_name_dir --stability dev --no-interaction

我仔细阅读了稳定性标志,想知道我是否没有正确理解它。我找到的最权威的文档在 this article 中。如果我阅读和理解正确,开发稳定性意味着我愿意接受开发包作为我安装的一部分。

我对旗帜的理解是否正确?这里的假设是我 运行 仅在开发环境中使用,但对于生产环境我将使用不同的参数吗?据我所知,我不应该在生产服务器上使用任何开发包……他们甚至没有得到安全建议。

如果有人能给我一个关于接近稳定的正确逻辑是什么的摘要,我会很高兴。而且,如果这不能说明为什么 dev 是默认推荐的稳定性,那么建议使用 dev 的原因。

--stability dev 开关在这种情况下没有任何效果,所以我猜这是过去遗留下来的(或者是由于不了解 stability 标志在 composer 中的工作方式的结果).在这个项目的 composer.json 中已经定义了这个设置:

"minimum-stability": "dev",
"prefer-stable": true,

命令显式使用 dev 分支 (8.x-dev),因此 --stability dev 并没有真正做任何事情。并且由于 prefer-stable 设置,它并没有像你想象的那么糟糕 - Composer 只会为没有稳定版本的依赖项安装开发版本(在这种情况下似乎只有 dev 依赖项)。

但是您无论如何都不应该将此命令用于生产安装,因为它会安装所有开发依赖项。你可能应该使用这样的东西:

composer create-project drupal-composer/drupal-project:8.x-dev my_site_name_dir --no-dev --no-interaction

或项目初始化后调用composer install --no-dev