Check @goodvibration answer. It should work in most instances.
I don't recommend the answer that I will share below, it will ignore the EIP-170, hopefully there is a better answer
I was only able to make it migrate using:
ganache-cli --gasLimit=0x1fffffffffffff --allowUnlimitedContractSize --account=0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef,1801439850948198200000000000000000e 1000000000
--allowUnlimitedContractSize: "Allows unlimited contract sizes while debugging. By enabling this flag, the check within the EVM for contract size limit of 24KB (see EIP-170) is bypassed. Enabling this flag will cause ganache-cli to behave differently than production environments."
--accounte {number}: creates a custom account. Parameters here are: a public and random key, howgives that much wei account should have.ether to all 10 accounts
My truffle-config.js looks like this:
module.exports = {
networks: {
development: {
host: 'localhost',
port: 8545,
network_id: '*',
gas: 0x1fffffffffffff
},
}
}
I used "1801439850948198200000000000000000" as account's value because that is what truffle migrate
suggested to me