Truffle : dotenv funktioniert nicht in truffle.js

Ich versuche, die Startwörter von der Powershell-Eingabeaufforderung abzurufen. Daher verwende ich das 'dotenv' in truffle.js

require('dotenv').config();
console.log('aa - process.env.MNEMONIC : '+mnemonic);

Später in Powershell gebe ich den Befehl aus.

MNEMONIC="Let us code ICO" truffle migrate --reset --network ropsten

Wenn ich die Konsolenprotokollanweisung sehe, sehe ich den Wert in „process.env.MNEMONIC“ als undefiniert. Könnten Sie bitte helfen, diesen Fehler zu beheben?

Geben Sie hier die Bildbeschreibung ein

Option 2: Ich habe die .env-Datei erstellt und versucht, wie unten gezeigt in truffle.js darauf zuzugreifen. Ich kann trotzdem nicht darauf zugreifen. Der Wert wird immer noch als undefiniert angezeigt.

Geben Sie hier die Bildbeschreibung ein

Antworten (2)

Das Problem bezieht sich nicht auf dotenv, die Meldung sagt Ihnen dasMNEMONIC=... is not recognized as the name of a cmdlet

Sie müssen .envdie Datei mit MNEMONICder Einstellung definieren oder den Befehl ausführen (Windows):

Eingabeaufforderung

set MNEMONIC=Let us code ICO && truffle migrate --reset --network ropsten

Power Shell

$env:MNEMONIC='Let us code ICO'; truffle migrate --reset --network ropsten
At line:1 char:30 + set MNEMONIC=Lassen Sie uns ICO codieren && Trufflemigrate --reset --network ropsten + ~~ Das Token '&&' ist in dieser Version kein gültiges Anweisungstrennzeichen. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: InvalidEndOfLine
Ich habe es sogar mit einer .env-Datei versucht. Bitte sehen Sie sich die bearbeitete Frage an
@iappmaker Name der Datei sollte sein.env
Wie wäre es mit dem Fehler, der für diese Anweisung zurückgegeben wird "set MNEMONIC=Lass uns ICO && Truffle Migration codieren --reset --network ropsten" In Zeile: 1 Zeichen:30 + set MNEMONIC=Lass uns ICO codieren && Trüffel migrieren --reset -- network ropsten + ~~ Das Token '&&' ist in dieser Version kein gültiges Anweisungstrennzeichen. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: InvalidEndOfLine
In PowerShell müssen Sie Folgendes ausführen:set MNEMONIC='Let us code ICO'; truffle migrate --reset --network ropsten
Ich habe versucht set MNEMONIC='Lass uns ICO codieren'; Trüffel wandern. Trotzdem werde ich nur undefiniert
@iappmaker werfen Sie einen Blick auf die Antwort

Ich denke, dotenv erwartet, dass Sie eher eine .env-Datei als Ihre envvariable.env-Datei haben.