为什么推荐的带有 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
。
我正在学习 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
。