{"id":15482241,"url":"https://github.com/aydinhassan/magento-module-composer-installer","last_synced_at":"2025-04-22T15:40:56.545Z","repository":{"id":66302436,"uuid":"28742914","full_name":"AydinHassan/magento-module-composer-installer","owner":"AydinHassan","description":"A Composer plugin to manage Magento Modules: Fork of: https://github.com/magento-hackathon/magento-composer-installer ","archived":false,"fork":false,"pushed_at":"2015-02-05T14:12:49.000Z","size":1604,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T16:34:06.166Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AydinHassan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-03T12:15:29.000Z","updated_at":"2024-10-23T03:38:54.000Z","dependencies_parsed_at":"2023-02-20T02:31:09.226Z","dependency_job_id":null,"html_url":"https://github.com/AydinHassan/magento-module-composer-installer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AydinHassan%2Fmagento-module-composer-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AydinHassan%2Fmagento-module-composer-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AydinHassan%2Fmagento-module-composer-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AydinHassan%2Fmagento-module-composer-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AydinHassan","download_url":"https://codeload.github.com/AydinHassan/magento-module-composer-installer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250269815,"owners_count":21402945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T05:08:33.519Z","updated_at":"2025-04-22T15:40:56.501Z","avatar_url":"https://github.com/AydinHassan.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/AydinHassan/magento-module-composer-installer.svg?branch=master)](https://travis-ci.org/AydinHassan/magento-module-composer-installer)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/AydinHassan/magento-module-composer-installer/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/AydinHassan/magento-module-composer-installer/?branch=master)\n[![Code Coverage](https://scrutinizer-ci.com/g/AydinHassan/magento-module-composer-installer/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/AydinHassan/magento-module-composer-installer/?branch=master)\n\n# Magento Composer Installer\n[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/magento-hackathon/magento-composer-installer?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\u003cimg src=\"https://getcomposer.org/img/logo-composer-transparent.png\" itemprop=\"image\" alt=\"Dart Mosaic\" style=\"height:50px;\"\u003e\n\nThe purpose of this project is to \nenable [composer](https://github.com/composer/composer) to install Magento modules,\nand automatically integrate them into a Magento installation.\n\nWe strongly recommend you to also read the general composer documentations on [getcomposer.org](http://getcomposer.org)\n\nAlso you should see [Using composer correctly (confoo) by Igor Wiedler](https://speakerdeck.com/igorw/using-composer-correctly-confoo)\n\n \n## Project Details\n \nThis project only covers the custom installer for composer. If you have problems with outdated versions,\nneed to install magento connect modules or similar, you need to look for [packages.firegento.com](http://packages.firegento.com/)\n \n \n### support contacts\n \nIf you have problems please have patience, as normal support is done during free time.  \nIf you are willing to pay to get your problem fixed, communicate this from the start to get faster responses.\n \n \nIf you need consulting, support, training or help regarding Magento and Composer,\nyou have the chance to hire one of the following people/companies.\n \n* Daniel Fahlke aka Flyingmana (Maintainer): flyingmana@googlemail.com [@Flyingmana](https://twitter.com/Flyingmana)\n* brandung - Magento Team: magento-team@brandung.de (http://brandung.de)\n* Your Name here\n* Your Name here\n* Your Company Name here\n* Your Company Name here\n \nother support contacts\n \n* irc: freenode the channels #magento-composer #magento-reddit and for german speaking people #magento-de \n* twitter: [@firegento](https://twitter.com/firegento)\n\n## Known issue\n- Error message: `Fatal error: Call to undefined method MagentoHackathon\\Composer\\Magento\\Installer::setDeployManager()` happens when you update from 1.x to 2.x, as we switched from pure installer to plugin.\n\nSolution: remove the `vendor` directory and the `composer.lock` and do a fresh install.\n=======\n## Known issues\n\n### When upgrading from 1.x to 2.x \n\nThe update from 1.x to 2.x has to be done with no plugins as otherwise a fatal error will be triggered (which does not hurt, just run the update again and it runs through).\n\n- Error message: `Fatal error: Call to undefined method MagentoHackathon\\Composer\\Magento\\Installer::setDeployManager()` \n\nTo prevent this error, upgrade only *magento-composer-installer* first:\n\n```composer update --no-plugins --no-dev \"magento-hackathon/magento-composer-installer\"``` \n\nFallback Solutions:\n\n1. execute `composer install` two times.\n2. remove the `vendor` directory and `composer.lock` and do a fresh install.\n\n### Timeouts and slow downloading. \n\nMostly caused by outtages of Github, Repositories or the Internet. This is a common problem with having all \npackges remote.\n\nFor all of this Issues you can make use of the commercial [Toran Proxy](https://toranproxy.com/).\nIt also allows hosting of private packages and speeds up the whole downloading process.\n\nAnother alternative is to look into [Satis](https://github.com/composer/satis), bare git mirrors and repository aliasing.\n\nAnother way to speedup downloads over ssh(also interesting for satis users) is to improve your ssh configs.\nAt least for newer versions of openSSH you can add the following to your ```.ssh/config``` to reuse previous connections.\n```\nHost * \n    ControlPath ~/.ssh/controlmasters/%r@%h:%p\n    ControlMaster auto\n    ControlPersist 10m\n```\n\nalso you need to create the ```controlmasters``` directory:\n```sh\nmkdir ~/.ssh/controlmasters\nchmod go-xr ~/.ssh/controlmasters\n```\n\nfurther information can be found on [wikibooks](http://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing) \n\n## Usage\n\nSee below for a [generic instruction on how to install composer](#installation-of-composer) if you aren't familiar with it.\n\n\n### Install a module in your project\n\nIf you want to use [the public Magento module repository](http://packages.firegento.com),\nset up your root ```composer.json``` in your project like this:\n\n```json\n{\n    \"require\": {\n        \"your-vendor-name/module-name\": \"*\",\n        \"magento-hackathon/magento-composer-installer\": \"*\"\n    },\n    \"repositories\": [\n        {\n            \"type\": \"composer\",\n            \"url\": \"http://packages.firegento.com\"\n        }\n    ],\n    \"extra\":{\n        \"magento-root-dir\": \"htdocs/\"\n    }\n}\n```\n\nIf you want to use a github/git/svn/etc repository, \nset up your root ```composer.json``` in your project like this:\n\n```json\n{\n    \"require\": {\n        \"magento-hackathon/magento-composer-installer\":\"*\",\n        \"the-vendor-name/the-module-name\": \"*\"\n    },\n    \"repositories\": [\n        {\n            \"type\": \"vcs\",\n            \"url\": \"https://github.com/magento-hackathon/magento-composer-installer\"\n        },\n        {\n            \"type\": \"vcs\",\n            \"url\": \"the/github/or/git/or/svn/etc/repository/uri-of-the-module\"\n        }\n    ],\n    \"extra\":{\n        \"magento-root-dir\": \"htdocs/\"\n    }\n}\n```\nNotes:\n\n1. More information about VCS repositories can be found \n   at [getcomposer.org](http://getcomposer.org/doc/05-repositories.md#vcs)\n\n\n\n### Change the Vendor/Name of your Module\n\nsometimes it will happen, that you change the name or the vendor of a package.\nFor example you developed a module in your own namespace and later moved it to an organization, or you moved it\nfrom one to another organization.\nIn this cases you should change your ```composer.json``` a bit to make it for users easier.\nLook for the ```replace``` statement\n\n\n```json\n{\n    \"name\": \"your-new-vendor-name/module-name\",\n    \"type\": \"magento-module\",\n    \"license\":\"OSL-3.0\",\n    \"description\":\"A short one line description of your module\",\n    \"authors\":[\n        {\n            \"name\":\"Author Name\",\n            \"email\":\"author@example.com\"\n        }\n    ],\n    \"replace\": {\n        \"your-vendor-name/module-name\":\"*\"\n    }\n}\n```\n\n\n\n### Auto add files to .gitignore\n\nIf 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:\n\n```json\n{\n    ...\n    \"extra\":{\n        \"magento-root-dir\": \"htdocs/\",\n        \"auto-append-gitignore\": true\n    }\n    ...\n}\n```\n\nThe `.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\ndescribing the module name for clarity.\n\nMultiple deploys will not add additional lines to your .gitignore, they will only ever be added once.\n \n\n### Testing\n\nFirst clone the magento-composer-installer, then install the dev-stuff:\n\n```\n./bin/composer.phar install --dev\n```\n\nthen run ```vendor/bin/phpunit``` in project-root directory.\n\nNote: Windows users please run ```phpunit``` with Administrator permissions.\n\n\n### How to overwrite dependencies\n\nWe don't want to use always the official repositories for specific dependencies.\nFor example for development purpose or use versions with custom patches.\n\nFor this case you have the _repositories_ section inside your project composer.json\nHere you can define own package composer.json for specific dependencies by the package name.\n\nThis example shows how to use a local git projects local-master branch which even works without a composer.json inside\nand a project in VCS with existing composer.json, which is not yet on packagist.\n\n```json\n{\n   ...\n   \"repositories\": [\n       {\n          \"type\": \"package\",\n          \"package\": {\n             \"name\": \"magento-hackathon/magento-composer-installer\",\n             \"version\": \"dev-master\",\n             \"type\": \"composer-installer\",\n             \"source\": {\n                \"type\": \"git\",\n                \"url\": \"/public_projects/magento/magento-composer-installer/\",\n                \"reference\": \"local-master\"\n             },\n             \"autoload\": {\n                \"psr-0\": {\"MagentoHackathon\\\\Composer\\\\Magento\": \"src/\"}\n             },\n             \"extra\": {\n                \"class\": \"\\\\MagentoHackathon\\\\Composer\\\\Magento\\\\Installer\"\n             }\n          }\n       }\n    ]\n}\n```\n\n## Installation of composer\n\n### 1. Install PHP-Composer\n\n#### On Linux/Mac\n\nGo to your project root directory and run:\n\n```\nmkdir bin\ncurl -s https://getcomposer.org/installer | php -- --install-dir=bin\n```\n\n#### On Windows\nPlease take a look at http://getcomposer.org/doc/00-intro.md#installation-windows\n\nCreation of symbolic links requires the SeCreateSymbolicLinkPrivilege (“Create symbolic links”), which is granted only\nto administrators by default (but you can change that using security policy).\n\nTo change the policies:\n- Launch secpol.msc via Start or Start → Run.\n- Open Security Settings → Local Policies → User Rights Assignment.\n- In the list, find the \"Create symbolic links\" item, which represents SeCreateSymbolicLinkPrivilege.\n    Double-click on the item and add yourself (or the whole Users group) to the list.\n\n(Seen at http://superuser.com/questions/124679/how-do-i-create-an-mklink-in-windows-7-home-premium-as-a-regular-user#125981)\n\n\n### 2. Download composer.json template\n\nSee [Usage](#usage).\n\n\n### 3. Install Magento modules via composer\n\n```\nphp bin/composer.phar install\n```\n\n\n\n\n\n## Further Information\n\n* [FAQ](doc/FAQ.md)\n* [Make a Magento module installable with composer](doc/MakeAModuleInstallableWithComposer.md)\n* [About File Mapping like for example modman](doc/Mapping.md)\n* [About Deploying files into your Magento root and possible configs](doc/Deploy.md)\n\n### External Links\n\n* [Composer How to Screencast](http://www.youtube.com/watch?v=m_yprtQiFgk)\n* [Introducing Composer Blog on Magebase.com](http://magebase.com/magento-tutorials/composer-with-magento/)\n* [Magento, Composer and Symfonys Dependency Injection](http://www.piotrbelina.com/magento-composer-and-dependency-injection/)\n* [Using Composer for Magento(at engineyard)](https://blog.engineyard.com/2014/composer-for-magento)\n\n### Core Contributors\n\n* Daniel Fahlke aka Flyingmana (Maintainer)\n* Jörg Weller\n* Karl Spies\n* Tobias Vogt\n* David Fuhr\n* Amir Tchavoshinia\n* Vinai Kopp (Maintainer)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faydinhassan%2Fmagento-module-composer-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faydinhassan%2Fmagento-module-composer-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faydinhassan%2Fmagento-module-composer-installer/lists"}