- Clone https://github.com/espocrm/espocrm repository to your local computer.
- Change to the project's root directory:
cd path/to/espocrm
. - Install Composer (v2.0 or greater).
- Install npm (v8.0 or greater).
- Install Grunt.
- Run
composer install
if Composer is installed globally (orphp composer.phar install
if locally). - Run
npm ci
.
Then you can build by running grunt
.
To build a proper config.php file and populate database you can run installation. Open http(s)://{YOUR_CRM_URL}/install
location in the browser. It's assumed that your webserver is properly configured.
Note: Some dependencies require php extensions that you might not have installed. You can skip these requirements by installing with a flag --ignore-platform-reqs: composer install --ignore-platform-reqs
.
- Change to the project's root directory.
- Run Grunt with
grunt
.
The build will be created in the build
directory.
Note: By default grunt installs composer dependencies. You can skip it by running grunt offline
.
- fix – upcoming maintenance release; fixes should be pushed to this branch;
- master – develop branch; new features should be pushed to this branch;
- stable – last stable release.
Preparation:
- Fetch tags to your git repository from the remote:
git fetch --tags
. - Checkout to a needed version tag (or don't if you want to test upgrade to the most recent commit).
- Build EspoCRM with grunt (see above how to build).
Build the upgrade package with the command:
node diff {version_from}
The package will be created in the build
directory.
You can develop and make customizations right on a regular installed EspoCRM instance.
Parameters can be set in data/config.php
.
Developer mode disables cache, front-end libs are loaded directly from the node_modules
directory.
'isDeveloperMode' => true,
You can force using backend cache (metadata, language etc.) in the developer mode. Can be reasonable as the application can be slow w/o cache.
'useCacheInDeveloperMode' => true,
custom/Espo/Custom/
– for metadata and all files pertaining to backendclient/custom/
– for client files
custom/Espo/Modules/{YourModuleName}/
– for metadata and all files pertaining to backendclient/custom/modules/{your-module-name}/
– for client files