@obernardovieira that error is the one we get from the node (ganache, geth, or parity) when trying to deploy your contract. From personal experience, it is seldom related to gas limit, but rather to a precondition on the contract. Perhaps you have a constructor (which you should change into an initializer) in your contract that has a require
causing issues?
I think a good test would be to try to deploy the contract manually using plain web3
on ganache, and see if you get the same error, even after setting a very high gas limit for the transaction.