rootindex/magento-composer-installer-fix

Magento模块的Composer安装程序

安装次数: 2,537

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 77

类型:composer-plugin

3.2.4 2017-04-05 20:43 UTC

README

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

Magento Composer Installer

![Gitter](https://badges.gitter.im/Join Chat.svg)

本项目旨在使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 http://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.0.*
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

有关详细信息,请参阅此处的文档。

将项目包含在部署中

当运行magento-composer-installer时,它只会在您的项目依赖项中查找magento模块。因此,如果您的项目是magento模块,并且您想测试它,您将需要一个第二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(Flyingmana,维护者)
  • Jörg Weller
  • Karl Spies
  • Tobias Vogt
  • David Fuhr
  • Amir Tchavoshinia
  • Vinai Kopp(维护者)

感谢

我们想要感谢几家公司,它们以不同的方式支持了这个项目。

#####digital.manufaktur GmbH

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

#####melovely

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