【问题标题】:Installing Drupal 8.x using composer BUT using a local mirror使用 composer 安装 Drupal 8.x 但使用本地镜像
【发布时间】:2018-03-02 10:24:45
【问题描述】:
我正在通过 composer 从 Internet 下载任何依赖项安装 Drupal 8.x,一切正常。
但是,以这种方式无法保证每次安装时都可以使用相同版本的依赖项。如果我在不同时间安装,一台服务器可能比另一台 Drupal 服务器具有模块的更新版本。我想通过使用本地镜像来防止这种情况发生。
是否可以为作曲家提供本地镜像以及如何提供?
任何示例/参考/建议?
【问题讨论】:
标签:
composer-php
drupal-8
【解决方案1】:
如果您担心版本,那么最好的方法是在需要时在 composer.json 中定义您想要的确切版本。但除此之外,在您安装依赖项后,您有一个 composer.lock 文件,其中包含确切的版本。此文件提交给您的版本控制并用作安装的基础:这样您始终获得相同的版本(当然,直到您更新)。
另一个问题可能是没有互联网,或者由于某种原因特定版本不可用。这不应该(经常)发生,但在这种情况下,您应该在“释放”之前选择它。
最佳实践是构建(确定是否有所有可用的包)然后发布。您甚至可以创建一个单独的构建服务器来创建您的项目,包括供应商目录,并从那里推送。您的供应商目录不在您的版本控制中这一事实并不意味着您每次都必须在生产服务器上获取所有依赖项
这意味着您拥有供应商的本地副本,它本身不是作曲家的本地镜像,但足够接近以使您感到舒适。