I'm trying to deploy a contract and I don't require Migrations.sol in any of my migrations. I don't even have this file in my contracts folder. And I run truffle migrate inside my project folder. But it says that can't deploy cause can not find artifacts for Migrations.sol. And shows me that

Error encountered, bailing. Network state unknown. Review successful transactions manually. Error: Could not find artifacts for ./Migrations.sol from any sources at Resolver.require (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:69108:9)

Please help me understand what's happenning and how do I solve it?

  • Can you copy paste the content of your migration file ? Commented Nov 20, 2017 at 12:26
  • Yes, it's very simple >var TeozToken = artifacts.require("./MyToken.sol"); module.exports = function(deployer) { deployer.deploy(MyToken); }; and > var Ownable = artifacts.require("./Ownable.sol"); module.exports = function(deployer) { deployer.deploy(Ownable); }; Commented Nov 20, 2017 at 12:37
  • Can you do a grep on Migrations.sol on your whole project? You will see where you reference this contract Commented Nov 20, 2017 at 12:38
  • What do you mean by "grep on"? I don't reference it in my project (in the one, I'm trying to deploy) Commented Nov 20, 2017 at 12:47
  • i mean the grep command line utility that allow you to search into multiple files. Commented Nov 20, 2017 at 12:49

2 Answers 2


Try it:

var Adoption = artifacts.require("MyToken.sol");

module.exports = function(deployer) {

Running truffle migrate requires the Migrations.sol that comes with truffle init or truffle unbox. You won't be able to run migrations without it since that is how the migrate tools track the current state of migrations.

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.