Installing a specific version of Frappe/ERPNext

Dear all,

There have been several threads regarding the possibility or not to install a specific version of ERPNext on a server.
While it is not recommended to install an older version of the software and in my opinion a bad practice, because it may be vulnerable, it is sometimes necessary until all customizations have been migrated to a newer version.

Step 1
If the version you wish to install is not very old and no breaking changes have been introduced in the installation requirements or in Bench, you can use the easy install script available at this address:

If you wish to install an older version, you will need to check several things :

  1. Get the release date of the version you wish to install (Frappe and/or ERPNext) available in the releases section of Github (example: Releases · frappe/erpnext · GitHub)

  2. Find the corresponding release of Bench.
    Since some commits are sent to Bench without being included in a formal release, you may have to pick a particular commit point instead of a release if you encounter issues down the line.

  3. Clone this particular version of Bench and make a manual installation (check the corresponding Readme file for help).
    Be aware that if you wish to install an old version, you’ll have to check all dependencies manually to install the version corresponding to that point in time. They are available in the requirements files of Bench, Frappe and ERPNext. (It can be a very challenging and time consuming task…)

Step 2
If you have used the easy install script, Frappe and ERPNext will already be installed. Else you can just use bench get-app to fetch them.

Go to each app and check that you are fetching everything, not just Master or Develop, in [remote “upstream”]:
fetch = +refs/heads/*:refs/remotes/upstream/*

Fetch all heads again: git fetch upstream

You should now see all tags for this app: git tag -l

Checkout to the particular release you want to install. For example: git checkout tags/v10.0.22 -b pinned_version
It may be necessary to remove all *.pyc files remaining from the previous version: find . -name '*.pyc' -delete

You can now install a new site and checkout back to the master/develop branch whenever you feel ready to upgrade.

For those not familiar with Git, I can only recommend you to read this site: Git - Book

Good luck experimenting!

15 Likes

Can you be more specific in what document i shoud go?