There is a warning in the Magento2 installation instructions that I don't understand. It says:

If you clone the Magento 2 GitHub repository, you cannot use the Magento software in a production environment. 
You cannot have a live store that accepts orders and so on.

I'm confused because this is something that I've been doing for the past year and it works, but they say that it cannot be used.

We cloned the git repo when Magento 2.0.0 came out, and have been updating it and have modified the code extensively by creating dozens of modules. We're now on 2.1.2.

What do they mean with this warning? Is this a license issue/restriction rather than a technical one? What's the reason for this?

  • I thought about creating an issue on github to ask the devs directly, but it's not a bug report so I'm trying to be a good citizen and ask here instead.
    – peedee
    Feb 9, 2017 at 7:13

1 Answer 1


I'm not sure if it would actually prevent you from accepting orders. But by using the git repo you're missing out on one of Magento 2's biggest improvements.

By using composer to install, manage and upgrade modules, it handles all dependencies for you. Using it you can upgrade a single module, upgrade all modules or install new third-party modules easily from the command line.

As an example, if you were to try and install a module that depended on version 100.2.* of Magento_Catalog and you were only on version 100.1.* composer would complain and require you to fix the dependency before the module can be installed.

Instead of having to pull updates from Magento's repo you would simply run composer update. This checks the current version number of each module and will update the module if a newer version is available.

You also have the added benefit of not cluttering your own repo with all the core code which shouldn't be touched anyways.

  • I understand that the core code "shouldn't" be touched, but my experience over the last 14 months has been that there are many more or less severe bugs, and sometimes we had no choice but to touch core files (especially when they were in the Framework rather than the modules). Thanks for your contribution, but I don't feel that this really answers my question...
    – peedee
    Feb 9, 2017 at 8:59
  • Also, I require precise control over what gets updated when, because our custom modules heavily depend on core code, and if core makes changes then our modules might break, so we need extensive testing after any update. I feel that it's more convenient to minimize the moments when something gets updated.
    – peedee
    Feb 9, 2017 at 9:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.