Я пытаюсь настроить среду для приложения Node.js. но я получаю эту ошибку каждый раз.
«NODE_ENV» не распознается как внутренняя или внешняя команда, действующая команда или пакетный файл.
Что это значит и как я могу решить эту проблему?
Я пользуюсь Windows и тоже попробовал set NODE_ENV=development
но не повезло.
Я написал для этого модуль: win-node-env .
Это создает ,
NODE_ENV.cmd
который устанавливаетNODE_ENV
переменные окружения и порождает дочерний процесс с остальной частью команды и ее аргументов.Просто установите его (глобально) и запустите команды сценария npm, они автоматически должны заставить их работать.
источник
для окон используйте также
&
между командами. Подобно,источник
NODE_ENV
будет 'development' (пробел между 't' и '&' будет содержатьсяNODE_ENV
).trim()
значение позже, чтобы сделатьprocess.env.NODE_ENV == 'production'
работу. Во всяком случае, чтобы избежать этого в oneliner?"test-unit": "SET NODE_ENV=test & mocha --require co-mocha 'test.js'"
не так"test-unit": "SET NODE_ENV=test & mocha --require co-mocha test.js"
верно . Вы должны удалить' '
вокруг файла JS.npm install "cross-env"
модуль.cross-env NODE_ENV=development node foo.js
. Тогда вы можете запустить какnpm run build
.источник
cross-env
в зависимостиpackage.json
npm install --save-dev cross-env
; это также помогает при ошибке,'env' is not recognized as an internal or external command
когда скрипт npm говоритenv VARNAME=varvalue && ...
(просто удалите env и вставьте cross-env вместо этого). Разработчикам не нужно устанавливать что-то глобально или иметь разные скрипты npm для разных платформ!Используйте win-node-env , для этого просто запустите команду ниже на вашем
cmd
илиpower shell
илиgit bash
:После этого все как в Linux.
источник
заставит NODE_ENV содержать пробел в конце:
Как уже упоминалось в комментарии здесь , используйте это вместо:
источник
Изменение ваших сценариев под Windows - это королевская боль. Попытка выяснить соответствующие переводы для Windows и поддержка двух наборов сценариев - это не способ жить своей жизнью.
Настроить npm для использования bash в Windows намного проще, и ваши скрипты будут работать как есть.
Просто беги
npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
. Убедитесь, что путь к исполняемому файлу bash правильный для вашей машины. Вероятно, вам потребуется запустить новый экземпляр терминала, чтобы изменения вступили в силу.Снимок экрана ниже иллюстрирует преимущества.
источник
Для тех, кто использует Git Bash и имеет проблемы с
npm run <script>
,Просто установите npm, чтобы использовать Git Bash для запуска скриптов
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
(измените путь в соответствии с вашей установкой)И тогда npm запустит скрипты с Git Bash, поэтому такие использования, как,
NODE_ENV=
будут работать правильно.источник
Работал для меня
источник
Для окон откройте git bash и попробуйте
NODE_ENV=production node app.js
источник
npm <scripts_entry>
, я получаю сообщение об ошибке с другим выражением, но эквивалентным значением: он рассматривает env var name как исполняемый файл.npm run <script>
использует Windows cmd для запуска команд. Вы можете настроить его на использование Git Bash.npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
А затемnpm run
будет использовать Git Bash для запуска скриптов.Большинство ответов там не помогли мне ..
Что помогло мне было
NODE_ENV=production&& nodemon app/app.js
Обратите внимание на пространство. Удачи.
источник
Если кто-то пришел сюда, как я, пытаясь найти решение для ошибки:
Причина, по которой я это получил, заключается в том, что я переносил угловое решение с компьютера для разработки Mac на рабочий стол Windows 10. Вот как я это решил.
бегать
npm install --save-dev cross-env
зайдите в мой файл package.json и измените все ссылки на скрипты с
env <whatever>
наcross-env <whatever>
Тогда мои команды вроде:
npm run start:some_random_environment_var
теперь нормально работают на Windows 10.источник
process.env.NODE_ENV добавляет пробел, сделайте это
источник
Для окон вы можете сделать это как
источник