magento-hackathon/magento-composer-installer

为Magento模块的Composer安装程序

资助包维护!
Patreon
Flyingmana

安装次数: 599 851

依赖者: 446

建议者: 75

安全: 0

星标: 212

关注者: 17

分支: 77

开放问题: 27

类型:composer-plugin

4.0.2 2022-04-20 19:23 UTC

README

Build Status Windows Build status Scrutinizer Code Quality Code Coverage Bountysource

!!! 通过Patreon支持此项目的维护者: https://www.patreon.com/Flyingmana

Become a Patreon

Magento Composer Installer

此项目的目的是使composer能够安装Magento模块,并将它们自动集成到Magento安装中,并将Composer的供应商自动加载能力添加到Magento中,以便可以使用与Composer兼容的第三方工具。

如果您想安装Magento核心,请尝试将AydinHassan/magento-core-composer-installer作为附加插件。

我们强烈建议您阅读getcomposer.org上的通用composer文档。

您还应该查看

Magento 2

恭喜您使用Magento 2。不要尝试与本项目一起使用。您的公主在另一个城堡

项目详情

本项目仅涵盖composer的定制安装程序。如果您遇到旧版本的问题,需要安装magento connect模块或类似模块,您需要查找packages.firegento.com,您可能需要将其作为composer仓库(全局)添加。

composer config -g repositories.firegento composer https://packages.firegento.com

支持的PHP版本

我们不正式支持那些已到达生命周期的终点的PHP版本,这意味着它们不再获得安全补丁。即使安装要求仍然允许它们。
只要有人愿意为此付费支持它们,这将改变。

支持联系方式

如果您有问题,请耐心等待,因为正常支持是在业余时间进行的。
如果您愿意付费解决问题,请从一开始就表明这一点,以获得更快的响应。

如果您需要有关Magento和Composer的咨询、支持、培训或帮助,您有机会雇佣以下人员/公司之一。

其他支持联系方式

  • irc:freenode的频道 #magento-composer #magento-reddit 以及德语用户的 #magento-de
  • twitter:@firegento

变更日志

请参阅CHANGELOG.md

=======

已知问题

需要重新部署包

之前我们建议使用命令集成包,现在不再需要了。composer.phar run-script post-install-cmd -vvv -- --redeploy
这将删除所有已部署的文件并重新部署每个模块

使用非默认自动加载

我们在这个常见问题解答中处理了这个话题。

超时和缓慢下载。

这通常是由于GitHub、仓库或互联网中断造成的。这是所有包都远程存在时的一个常见问题。

对于所有这些问题,您可以使用商业的Toran代理。它还允许托管私有包并加快整个下载过程。

另一种选择是考虑Satis、裸Git镜像和仓库别名。

另一种加快通过SSH下载(对于Satis用户也很有趣)的方法是改进您的SSH配置。至少对于较新的openSSH版本,您可以将以下内容添加到您的.ssh/config中,以重用之前的连接。

Host * 
    ControlPath ~/.ssh/controlmasters/%r@%h:%p
    ControlMaster auto
    ControlPersist 10m

同时,您还需要创建controlmasters目录

mkdir ~/.ssh/controlmasters
chmod go-xr ~/.ssh/controlmasters

更多详细信息请参考wikibooks

使用方法

更新安装程序

由于这是一个composer插件,您应该只使用这两个命令来更新安装程序

composer require --no-update  magento-hackathon/magento-composer-installer="3.2.*"
composer update --no-plugins --no-scripts magento-hackathon/magento-composer-installer

第二个命令可能需要--with-dependencies
根据您与composer的工作流程,您可能需要使用更明确的版本

在您的项目中安装模块

确保将公共Magento模块仓库作为composer仓库

composer config -g repositories.firegento composer https://packages.firegento.com

配置您的magento根目录,即您的magento所在的目录
composer config extra.magento-root-dir "htdocs/"

以下是一个示例,说明您的项目composer.json可能的样子

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.firegento.com"
        }
    ],
    "extra":{
        "magento-root-dir": "htdocs/"
    }
}

自动将文件添加到.gitignore

如果您希望将已部署的文件自动添加到您的.gitignore文件中,则只需将auto-append-gitignore键设置为true

{
    "extra":{
        "magento-root-dir": "htdocs/",
        "auto-append-gitignore": true
    }
}

.gitignore文件将从当前目录加载,如果不存在,则将其创建。每个模块文件集上方将有一个注释,描述模块名称,以便清晰。

多次部署不会向您的.gitignore添加额外的行,它们只会添加一次。

将Composer的自动加载器添加到Magento

文档在此

覆盖生产设置(DevMode)

{
    "extra":{
        "magento-deploystrategy": "copy",
        "magento-deploystrategy-dev": "symlink"
    }
}

示例在devmode文档中。

将项目包含在部署中

当运行magento-composer-installer时,它只会在您的项目依赖项中查找magento-modules。因此,如果您的项目是magento-module并且您想测试它,您需要一个第二个composer.json用于部署,其中您的项目配置为必需的包。

如果您还想部署项目文件(即根包),则需要按照以下方式设置您的composer.json

{
    "type": "magento-module",
    ...
    "extra": {
        "magento-root-dir": "htdocs/",
        "include-root-package": true
    }
}

测试

首先克隆magento-composer-installer,然后安装开发内容(默认安装)

./bin/composer.phar install

然后在项目根目录中运行vendor/bin/phpunit

注意:Windows用户请以管理员权限运行phpunit

更多信息

外部链接

核心贡献者

  • Daniel Fahlke aka Flyingmana(维护者)
  • Jörg Weller
  • Karl Spies
  • Tobias Vogt
  • David Fuhr
  • Amir Tchavoshinia
  • Vinai Kopp(维护者)

感谢您

有几家公司我们想表示感谢,因为它们以某种方式支持了本项目。

#####digital.manufaktur GmbH

(Flyingmana)教给了我关于Magento的大部分知识,并支付了我参加创建安装程序的黑客松的参与费用。

#####melovely

我的当前雇主melovely非常支持我(Flyingmana)在所有与composer相关的工作上。