Трюфель: dotenv не работает в truffle.js

Я пытаюсь получить исходные слова из командной строки powershell. Поэтому я использую «dotenv» в truffle.js.

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

Позже в powershell я ввожу команду.

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

Когда я вижу оператор журнала консоли, я вижу значение в «process.env.MNEMONIC» как неопределенное. Не могли бы вы помочь в решении этой ошибки?

введите описание изображения здесь

Вариант 2: я создал файл .env и попытался получить к нему доступ в truffle.js, как показано ниже. Тем не менее я не могу получить к нему доступ. Значение по-прежнему отображается как неопределенное.

введите описание изображения здесь

Ответы (2)

Проблема не связана с dotenv, сообщение говорит вам, чтоMNEMONIC=... is not recognized as the name of a cmdlet

Вам нужно указать .envфайл с MNEMONICнастройкой или выполнить команду (Windows):

Командная строка

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

PowerShell

$env:MNEMONIC='Let us code ICO'; truffle migrate --reset --network ropsten
В строке: 1 символ: 30 + set MNEMONIC = Давайте закодируем ICO && truffle migrate --reset --network ropsten + ~~ Токен '&&' не является допустимым разделителем операторов в этой версии. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : InvalidEndOfLine
Я даже пробовал с файлом .env. пожалуйста, смотрите отредактированный вопрос
@iappmaker имя файла должно быть.env
Как насчет ошибки, возвращаемой для этого оператора «set MNEMONIC=Давайте закодируем ICO && truffle migrate --reset --network ropsten» В строке: 1 char:30 + set MNEMONIC=Давайте закодируем ICO && truffle migrate --reset -- network ropsten + ~~ Токен '&&' не является допустимым разделителем операторов в этой версии. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : InvalidEndOfLine
в PowerShell вам нужно выполнить что-то вроде:set MNEMONIC='Let us code ICO'; truffle migrate --reset --network ropsten
Я попытался установить MNEMONIC='Давайте кодировать ICO'; трюфель мигрирует. Тем не менее я получаю неопределенность только
@iappmaker посмотри ответ

Я думаю, что dotenv ожидает, что у вас будет файл .env, а не ваш файл envvariable.env.