rootindex/magento-composer-installer-fix 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rootindex/magento-composer-installer-fix

Composer 安装命令:

composer require rootindex/magento-composer-installer-fix

包简介

Composer installer for Magento modules

README 文档

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)

The purpose of this project is to enable composer to install Magento modules, and automatically integrate them into a Magento installation and add Composer's vendor autoloader ability the Magento's so that Composer-compatible 3rd party tools can be used.

If you want to install the Magento Core, you should try AydinHassan/magento-core-composer-installer as additional plugin.

We strongly recommend you to also read the general composer documentations on getcomposer.org

Also you should see:

Magento 2

Congratulation to work with Magento 2. Dont try to use it together with this project. Your princess is in another Castle

Project Details

This project only covers the custom installer for composer. If you have problems with outdated versions, need to install magento connect modules or similar, you need to look for packages.firegento.com which you probably should add as composer repository (globally)

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

supported PHP Versions

We don't officially support PHP versions which are End of Life means which dont get security patches anymore. Even if the install requirement still allows them.
This will change, as soon someone is willing to pay for supporting them.

support contacts

If you have problems please have patience, as normal support is done during free time.
If you are willing to pay to get your problem fixed, communicate this from the start to get faster responses.

If you need consulting, support, training or help regarding Magento and Composer, you have the chance to hire one of the following people/companies.

other support contacts

  • irc: freenode the channels #magento-composer #magento-reddit and for german speaking people #magento-de
  • twitter: @firegento

changelog

See CHANGELOG.md.

=======

Known issues

need to redeploy packages

earlier we suggested the use of the command integrator package, that is not needed anymore. composer.phar run-script post-install-cmd -vvv -- --redeploy
This does remove all deployed files and redeploys every module

using non default autoloading

we handle this topic in our FAQ.

Timeouts and slow downloading.

Mostly caused by outages of Github, Repositories or the Internet. This is a common problem with having all packages remote.

For all of this issues you can make use of the commercial Toran Proxy. It also allows hosting of private packages and speeds up the whole downloading process.

Another alternative is to look into Satis, bare git mirrors and repository aliasing.

Another way to speedup downloads over ssh (also interesting for satis users) is to improve your ssh configs. At least for newer versions of openSSH you can add the following to your .ssh/config to reuse previous connections.

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

also you need to create the controlmasters directory:

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

further information can be found on wikibooks

Usage

Update the Installer

as this is a composer plugin, you should only use this both commands to update the installer

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

the second command needs maybe a --with-dependencies
Depending on your workflow with composer, you may want to use more explicite versions

Install a module in your project

make sure to use the public Magento module repository as composer repository:

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

configure your magento root dir, the directory where your magento resides:
composer config extra.magento-root-dir "htdocs/"

an example how your project composer.json could look like:

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

Auto add files to .gitignore

If you want to have the deployed files automatically added to your .gitignore file, then you can just set the auto-append-gitignore key to true:

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

The .gitignore file will be loaded from the current directory, and if it does not exist, it will be created. Every set of module files, will have a comment above them describing the module name for clarity.

Multiple deploys will not add additional lines to your .gitignore, they will only ever be added once.

Adding Composer's autoloader to Magento

Documentation available here.

Include your project in deployment

When the magento-composer-installer is run, it only looks for magento-modules among your project's dependencies. Thus, if your project is a magento-module and you want to test it, you will need a second composer.json for deployment, where your project is configured as a required package.

If you wish to deploy your project's files (a.k.a. root package), too, you need to setup your composer.json as follows:

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

Testing

First clone the magento-composer-installer, then install the dev-stuff (installed by default):

./bin/composer.phar install

then run vendor/bin/phpunit in project-root directory.

Note: Windows users please run phpunit with Administrator permissions.

Further Information

External Links

Core Contributors

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

Thank You

There are a few companies we want to thank for supporting this project in one way or another.

#####digital.manufaktur GmbH

Teached me (Flyingmana) most I know about Magento and paid my participation for the hackathon were the installer got created.

#####melovely

Support me (Flyingmana) as my current employer very much in my work on everything composer related.

rootindex/magento-composer-installer-fix 适用场景与选型建议

rootindex/magento-composer-installer-fix 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.54k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 03 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「magento」 「composer-installer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 rootindex/magento-composer-installer-fix 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 rootindex/magento-composer-installer-fix 我们能提供哪些服务?
定制开发 / 二次开发

基于 rootindex/magento-composer-installer-fix 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.54k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 9
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 80
  • 开发语言: PHP

其他信息

  • 授权协议: OSL-3.0
  • 更新时间: 2017-03-12