magento-hackathon / magento-composer-installer
为Magento模块的Composer安装程序
Requires
- php: >=5.5
- composer-plugin-api: ^2.0
- flyingmana/composer-config-reader: *
- symfony/console: ^2.5|^3.0|^4.0|^5.0
Requires (Dev)
- ext-json: *
- composer/composer: 2.*
- cotya/composer-test-framework: ~2.0
- mikey179/vfsstream: ~1.4
- phpunit/phpunit: ~4.3
- phpunit/phpunit-mock-objects: ~2.3
- squizlabs/php_codesniffer: ~2.1
- symfony/process: ~2.5
Suggests
- colinmollenhour/modman: *
- theseer/autoload: ~1.14
- dev-main
- 4.0.2
- 4.0.1
- 4.0.0-alpha.1
- 3.x-dev
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.7
- 3.0.7-rc.1
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.4-beta1
- 3.0.3
- 3.0.3-rc.2
- 3.0.3-rc.1
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-beta.1
- 3.0.0-alpha.2
- 3.0.0-alpha.1
- 2.1.x-dev
- 2.1.3
- 2.1.3-rc.1
- 2.1.1
- 2.1.0
- 2.1.0-rc.1
- 2.0.0
- 2.0.0-beta4
- 2.0.0-beta3
- 2.0.0-beta2
- 2.0.0-beta1
- 1.3.x-dev
- 1.3.2
- 1.3.1
- 1.3
- 1.2
- 1.1
- 1.0
- dev-dependabot/composer/composer/composer-2.2.22
- dev-test-ci
- dev-4.0-dev
- dev-master
- dev-test-appveyor
- dev-Flyingmana-patch-1
This package is auto-updated.
Last update: 2024-09-09 10:53:57 UTC
README
!!! 通过Patreon支持此项目的维护者: https://www.patreon.com/Flyingmana
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的咨询、支持、培训或帮助,您有机会雇佣以下人员/公司之一。
- Daniel Fahlke(即Flyingmana,维护者):[email protected] @Flyingmana
- brandung - Magento团队:[email protected] (http://brandung.de)
其他支持联系方式
- 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(维护者)
感谢您
有几家公司我们想表示感谢,因为它们以某种方式支持了本项目。
(Flyingmana)教给了我关于Magento的大部分知识,并支付了我参加创建安装程序的黑客松的参与费用。
#####melovely
我的当前雇主melovely非常支持我(Flyingmana)在所有与composer相关的工作上。