opengento/magento-composer-installer

Magento模块的Composer安装程序

安装: 7

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 10

分支: 77

类型:composer-plugin

3.1.2 2017-06-07 11:21 UTC

README

Build Status Windows Build status Dependency Status Reference Status Scrutinizer Code Quality Code Coverage Bountysource

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

Become a Patreon

Magento Composer Installer

此项目旨在使composer能够安装Magento模块,并将其自动集成到Magento安装中,并为Magento添加Composer的自动加载器能力,以便可以使用与Composer兼容的第三方工具。

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

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

还应查看

Magento 2

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

项目详情

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

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
这将删除所有已部署的文件,并重新部署每个模块

使用非默认自动加载

我们在这篇FAQ中处理了这个话题。

超时和缓慢下载。

这通常是由GitHub、仓库或互联网故障引起的。这是一个在所有包都是远程的情况下常见的难题。

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

另一个替代方案是考虑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.1.*"
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,然后安装dev-stuff(默认安装)

./bin/composer.phar install

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

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

更多信息

外部链接

核心贡献者

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

感谢

有一些公司我们想感谢,因为他们在不同程度上支持了这个项目。

#####digital.manufaktur GmbH

(Flyingmana)教给我关于Magento的大部分知识,并支付了我的参赛费用,在那次黑客马拉松中安装器被创建。

#####melovely

作为我的现任雇主,Flyingmana非常支持我在所有与Composer相关的工作。