"NODE_ENV" не распознается как внутренняя или внешняя команда, оперативная команда или командный файл
Я пытаюсь настроить среду для приложения Node.js. но я получаю эту ошибку каждый раз.
"NODE_ENV" не распознается как внутренняя или внешняя команда, действующая команда или пакетный файл.
Что это значит и как я могу решить эту проблему?
Я использую Windows, а также попытался set NODE_ENV=development
но не повезло.
Ответы
Ответ 1
Похоже, ваша ошибка возникает из-за попытки запустить что-то вроде этого (что работает в Linux)
NODE_ENV=development node foo.js
эквивалент в Windows будет
SET NODE_ENV=development
node foo.js
работает в той же командной оболочке. Вы упомянули, что NODE_ENV не работает, но неясно, как/когда вы его выполнили.
Ответ 2
для окон используется &
между командами. Как,
"scripts": {
"start": "SET NODE_ENV=development & nodemon app/app.js",
}
Ответ 3
Я написал для этого модуль: win-node-env.
Он создает NODE_ENV.cmd
, который устанавливает переменную среды NODE_ENV
и порождает дочерний процесс с остальной частью команды и ее аргументами.
Просто установите его (глобально) и запустите свои команды npm script, он должен автоматически заставить их работать.
npm install -g win-node-env
Ответ 4
-
npm install "cross-env"
.
- измените код как
cross-env NODE_ENV=development node foo.js
.
Затем вы можете запустить как npm run build
.
Ответ 5
Используйте win-node-env, для этого просто запустите команду ниже на вашем cmd
или power shell
или git bash
:
npm install -g win-node-env
После этого все как в Linux.
Ответ 6
set NODE_ENV=production & nodemon app/app.js
приведет к тому, что NODE_ENV будет содержать пробел в конце:
process.env.NODE_ENV == 'production'; //false
process.env.NODE_ENV == 'production '; //true
Как уже упоминалось в комментарии здесь, используйте это вместо:
NODE_ENV=production&& nodemon app/app.js
Ответ 7
npm install -S cross-env
Работал для меня
Ответ 8
Большинство ответов там не помогли мне..
Что мне помогло, так это NODE_ENV=production&& nodemon app/app.js
Обратите внимание на пространство. Удачи.
Ответ 9
Для тех, кто использует 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=
как NODE_ENV=
будут работать правильно.
Ответ 10
Для окон откройте git bash и попробуйте
NODE_ENV=production node app.js
Ответ 11
Если кто-нибудь пришел сюда, как я, пытаясь найти решение для ошибки:
'env' is not recognized as an internal or external command
Причина, по которой я это получил, заключается в том, что я переносил угловое решение с компьютера для разработки 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.
Ответ 12
Изменение ваших сценариев под Windows - это королевская боль. Попытка выяснить соответствующие переводы для Windows и поддержка двух наборов сценариев - это не способ жить своей жизнью.
Настроить npm для использования bash в Windows намного проще, и ваши скрипты будут работать как есть.
Просто запустите npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
. Убедитесь, что путь к исполняемому файлу bash правильный для вашей машины. Вероятно, вам нужно будет запустить новый экземпляр терминала, чтобы изменения вступили в силу.
Снимок экрана ниже иллюстрирует преимущества.
- нпм ERR! при попытке запустить скрипт изначально.
- Скрипт, модифицированный для использования Windows, запускается, но не показывает ответное сообщение.
- После обновления конфигурации npm для использования bash, скрипт запускается и возвращает соответствующее сообщение.
![Getting npm scripts to run as is in Windows]()