Truffle Migrate funktioniert nicht: Fehler: Kein Netzwerk angegeben. Aktuelles Netzwerk kann nicht ermittelt werden

Wenn ich versuche, meine Migration mit Truffle Migration auszuführen, wird die folgende Fehlermeldung angezeigt:

Error: No network specified. Cannot determine current network.
    at Object.detect (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:43157:23)
    at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:200497:19
    at finished (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:43085:9)
    at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:198408:14
    at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:68162:7
    at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:163793:9
    at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:160353:16
    at replenish (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:160873:25)
    at iterateeCallback (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:160863:17)
    at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:160838:16

Dies ist auf einem OSX-Computer und ich verwende Truffle Version 4.0.0, Solidity Version 0.4.18. TestRPC v4.1.3 läuft im Hintergrund.

Antworten (6)

Stellen Sie sicher, dass Sie Ihr Netzwerk in truffle.js konfiguriert haben . Für das oben genannte Setup sollte es in etwa so aussehen:

module.exports = {
    networks: {
        development: {
            host: "localhost",
            port: 8545,
            network_id: "*" // Match any network id
        }
    }
};

Ich hatte das gleiche Problem mit Truffle 4.0.1. Nach einigen Nachforschungen und Ratschlägen des Truffle-Teams fand ich heraus, dass Truffle 4.0.x eine neue Option hat. Wenn Sie laufen truffle develop, brauchen Sie testrpc nicht mehr. Da die Truffle-Entwicklung auf Port 9545 läuft, müssen Sie Ihre truffle.js so ändern

networks: {
    development: {
          host: "localhost",
          port: 9545,
          network_id: "*" // Match any network id
    }
}

Truffle 4.0.x hat einige andere coole neue Funktionen. Ich empfehle, die Versionshinweise von Truffle 4.0.0 zu lesen. Sie finden sie hier https://github.com/trufflesuite/truffle/releases/tag/v4.0.0 Sie empfehlen auch ein Upgrade auf Truffle 4.0.1.

Ich hoffe das hilft

danke @Bumblebee, ich hatte einen ähnlichen Fehler. Jetzt funktioniert es perfekt.

oder Sie können das Netzwerk angeben:

Ihre truffle.js:

module.exports = {
  networks: {
    privateNode: {
      host: '127.0.0.1',
      port: 8501,               
      network_id: '*'
    },
    ganache: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*"
    }
  }
};

Konsolenbefehlszeile:

truffle migrate --network ganache  //this can open only truffle.js and does not run the script

truffle.cmd migrate --network ganache //this would run script for 100%

Bitte überprüfen Sie die Truffle-Konfigurationsdatei. Mine wurde durch folgenden Code gelöst, Ganache-Netzwerk auskommentieren und zum Testen durch Entwicklung ersetzen

module.exports = {
networks: {
  /*  ganache: {
        host: "localhost",
        port: 7545,
        gas: 5000000,
        network_id: "*" // Match any network id
    }*/

    // Make sure it should connecto to development environment
    development: {
        host: "localhost",
        port: 7545,
        gas: 5000000,
        network_id: "*" // Match any network id
    }
}

};

Ich habe auch einen ähnlichen Fehler erhalten, als ich mich auf eine Website bezog, die network_id nicht verwendete (möglicherweise aufgrund eines Konfigurationsupdates, da ich die neueste Truffle-Version verwendet habe).

Das hat bei mir funktioniert! Bearbeiten Sie Ihre truffle.js- oder truffle-config.js-Datei wie folgt:

module.exports = {  
 networks: {
  development: {
  host: "localhost",
  port: 8545,
  network_id: "*"
 }
}
}

Hinweis: Das obige Beispiel gilt für ein Entwicklungsnetzwerk, das mit jedem Netzwerk übereinstimmt, mit dem es verbunden ist (deshalb wird network_id: "*" verwendet). Wenn der Benutzer Truffle so konfigurieren möchte, dass er sich mit einem oder mehreren anderen Netzwerken verbindet, müssen Sie nur weitere benannte Netzwerke hinzufügen und die entsprechende Netzwerk-ID angeben.

Würde es Ihnen etwas ausmachen zu beschreiben, was Ihre Antwort nützlicher macht als die bereits gegebenen Antworten, ich sehe den Unterschied nicht?

Dieser Fehler kann auftreten, wenn Sie truffle migratedie alte Konfigurationsdatei verwenden, die etwa so aussah:

module.exports = {
    build: {
      "index.html": "index.html",
      "app.js": [
        "javascripts/app.js"
      ],
      "app.css": [
        "stylesheets/app.css"
      ],
      "images/": "images/"

    },
    rpc: {
      host: "localhost",
      port: 8545
    }
};

Zu diesem Zeitpunkt müssen Sie diese Konfiguration verwenden:

module.exports = {
  networks: {
     development: {
     host: "localhost",
     port: 8545,
     network_id: "*" // Match any network id
   }
 }
};

Sie können auch mehrere Umgebungen developementoder liveverwenden network_id, um das Blockchain-Netzwerk (Mainnet oder Ropsten ...) anzugeben, weitere Details:

http://truffleframework.com/docs/advanced/configuration

Hoffe das hilft.