Trufa: dotenv no funciona en truffle.js

Estoy tratando de obtener las palabras iniciales del símbolo del sistema de PowerShell. Por lo tanto, estoy usando 'dotenv' en truffle.js

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

Más tarde en PowerShell, emito el comando.

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

Cuando veo la declaración de registro de la consola, veo el valor en "process.env.MNEMONIC" como indefinido. ¿Podría por favor ayudar a resolver este error?

ingrese la descripción de la imagen aquí

Opción 2: Creé el archivo .env e intenté acceder a él en truffle.js como se muestra a continuación. Todavía no puedo acceder a él. El valor aún se muestra como indefinido.

ingrese la descripción de la imagen aquí

Respuestas (2)

El problema no está relacionado con dotenv, el mensaje le dice queMNEMONIC=... is not recognized as the name of a cmdlet

Debe definir .envel archivo con MNEMONICla configuración o ejecutar el comando (Windows):

Símbolo del sistema

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

Potencia Shell

$env:MNEMONIC='Let us code ICO'; truffle migrate --reset --network ropsten
En línea: 1 char: 30 + set MNEMONIC = Codifiquemos ICO && truffle migrate --reset --network ropsten + ~~ El token '&&' no es un separador de declaración válido en esta versión. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: InvalidEndOfLine
Incluso lo he intentado con el archivo .env. por favor vea la pregunta editada
@iappmaker el nombre del archivo debe ser.env
¿Qué tal el error devuelto para esta declaración "set MNEMONIC=Codifiquemos ICO && truffle migrate --reset --network ropsten" En la línea: 1 char:30 + set MNEMONIC=Codifiquemos ICO && truffle migrate --reset -- red ropsten + ~~ El token '&&' no es un separador de declaración válido en esta versión. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: InvalidEndOfLine
en PowerShell necesitas ejecutar algo como:set MNEMONIC='Let us code ICO'; truffle migrate --reset --network ropsten
Intenté establecer MNEMONIC='Codifiquemos ICO'; la trufa migra. Todavía me estoy volviendo indefinido solo
@iappmaker mira la respuesta

Creo que dotenv espera que tengas un archivo .env en lugar de tu archivo envvariable.env.