Node env не является внутренней или внешней командой исполняемой программой или пакетным файлом

Обновлено: 04.07.2024

Я пытаюсь настроить среду для node.js приложение. но я получаю, что "NODE_ENV" не распознается как внутренняя или внешняя команда, работоспособная команда или командный файл. ошибка каждый раз.

Что это значит и как я могу решить эту проблему?

Я использую Windows, а также попытался установить NODE_ENV=development но не повезло.

Помогите! Заранее спасибо.

22 ответа

Похоже, ваша ошибка происходит из-за попытки запустить что-то вроде этого (что работает в Linux)

эквивалент в Windows будет

работает в той же командной оболочке. Вы упомянули, что набор NODE_ENV не работает, но не ясно, как и когда вы его выполнили.

Я написал для этого модуль: win-node-env.

Это создает NODE_ENV.cmd который устанавливает NODE_ENV переменная окружения и порождает дочерний процесс с остальной частью команды и ее аргументами.

Просто установите его (глобально) и запустите команды сценария npm, они должны автоматически заставить их работать.

Для использования окон & между командами также. Подобно,

  1. npm install "cross-env" модуль.
  2. изменить код как cross-env NODE_ENV=development node foo.js , Тогда вы можете запустить как npm run build ,

Используйте win-node-env, для этого просто запустите команду ниже на вашем cmd или же power shell или же git bash :

После этого все как в Linux.

заставит NODE_ENV содержать пробел в конце:

Как уже упоминалось в комментарии здесь, используйте это вместо:

У меня была такая же проблема и на платформе Windows, и я просто выполнил следующую команду

и все работает нормально

Изменение ваших сценариев под 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= будет работать правильно.

Я пытаюсь настроить среду для приложения Node.js. но я получаю эту ошибку каждый раз.

"NODE_ENV" не распознается как внутренняя или внешняя команда, действующая команда или пакетный файл.

Что это значит и как я могу решить эту проблему?

Я использую Windows, а также попытался set NODE_ENV=development но не повезло.

ОТВЕТЫ

Ответ 1

Похоже, ваша ошибка возникает из-за попытки запустить что-то вроде этого (что работает в Linux)

эквивалент в Windows будет

работает в той же командной оболочке. Вы упомянули, что NODE_ENV не работает, но неясно, как/когда вы его выполнили.

Ответ 2

для окон используется & между командами. Как,

Ответ 3

Я написал для этого модуль: win-node-env.

Он создает NODE_ENV.cmd , который устанавливает переменную среды NODE_ENV и порождает дочерний процесс с остальной частью команды и ее аргументами.

Просто установите его (глобально) и запустите свои команды npm script, он должен автоматически заставить их работать.

Ответ 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 :

После этого все как в Linux.

Ответ 6

приведет к тому, что NODE_ENV будет содержать пробел в конце:

Как уже упоминалось в комментарии здесь, используйте это вместо:

Ответ 7

Работал для меня

Ответ 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

Если кто-нибудь пришел сюда, как я, пытаясь найти решение для ошибки:

Причина, по которой я это получил, заключается в том, что я переносил угловое решение с компьютера для разработки 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 намного проще, и ваши скрипты будут работать как есть.

Я пытаюсь настроить среду для приложения Node.js. но я получаю эту ошибку каждый раз.

«NODE_ENV» не распознается как внутренняя или внешняя команда, действующая команда или командный файл.

Что это значит и как решить эту проблему?

Я использую Windows и тоже пробовал set NODE_ENV=development , но безуспешно.

Похоже, ваша ошибка возникла из-за попытки запустить что-то вроде этого (что работает в Linux)

Эквивалент в Windows будет

Работает в той же командной оболочке. Вы упомянули, что набор NODE_ENV не работал, но не было ясно, как и когда вы его выполнили.

process.env.NODE_ENV добавляет пробел , сделайте это

установите сценарий test внутри файла package.json:

В Windows ; "test": "SET NODE_ENV = test & jest",

В Linux / Mac ; "test": "NODE_ENV = тестовая шутка",

Если кто-то еще пришел сюда, как я, пытаясь найти решение ошибки:

Причина, по которой я получил это, заключается в том, что я переносил решение angular с машины разработки 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.

Для окон откройте git bash и попробуйте

NODE_ENV=production node app.js

Мне помогло NODE_ENV=production&& nodemon app/app.js

Обратите внимание на пространство. Удачи.

Для окон это можно сделать как

Работал на меня

Сделай это, это обязательно сработает

Для тех, кто использует 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= , будут работать правильно.

У меня была такая же проблема и на платформе Windows, и я просто выполнил следующую команду

И все работает нормально

Изменение ваших сценариев для соответствия Windows - настоящая головная боль. Пытаться найти подходящие переводы для Windows и поддерживать 2 набора скриптов - это не способ жить своей жизнью.

Намного проще настроить npm для использования bash в Windows, и ваши скрипты будут работать как есть.

Просто запустите npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe" . Убедитесь, что путь к исполняемому файлу bash правильный для вашей машины. Скорее всего, вам потребуется запустить новый экземпляр терминала, чтобы изменения вступили в силу.

На снимке экрана ниже показано преимущество.

Getting npm scripts to run as is in Windows

Приведет к тому, что NODE_ENV будет содержать пробел в конце:

Как упоминалось в комментарии здесь, используйте вместо этого:

Используйте win-node-env. Для его использования просто выполните команду ниже на своем cmd или power shell или git bash :

После этого все как в линуксе.

  1. npm install --save-dev "cross-env" модуль.
  2. измените код как cross-env NODE_ENV=development node foo.js . Затем вы можете запустить подобное npm run build .

Для окон также используйте & между командами. Как,

Я написал для этого модуль: win-node-env.

Он создает NODE_ENV.cmd , который устанавливает переменную среды NODE_ENV и порождает дочерний процесс с остальной частью команды и ее аргументами.

Просто установите его (глобально) и запустите свои команды сценария npm, он должен автоматически заставить их работать.

Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11

Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:

Не является внутренней или внешней командой, исполняемой программой или пакетным файлом в командной строке

  1. В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
  2. Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.

Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:

  • Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
  • Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
  • Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
  • Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.

Теперь о том, что делать в рассматриваемой ситуации.

Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.

Переход к папке с исполняемым файлом в командной строке

Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:

  1. Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папкеpip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
  2. Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
  3. Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
  4. Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.

Добавление папки с программой в системную переменную среды PATH

В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:

Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:

Добавление Python в PATH при установке

Установка недостающих компонентов

Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:

Включение клиента Telnet

  • Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
  • Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
  • Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.

Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.

Если ошибка возникает при запуске системных инструментов Windows

Видео инструкция

Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.

Я совершенно новичок в nodejs. Я пытаюсь заставить nodejs работать на моем компьютере с Windows 2008, чтобы установить Karma, который я бы использовал для TDDing моего кода AngularJs. Я сделал следующие шаги до сих пор

Я пропустил какой-либо важный шаг в процессе?

редактировать

Я понял, что если я открою «Командную строку Nodejs» из программных файлов, то npm будет распознан. Как мне заставить его работать в обычной командной строке?

редактировать

После того, как node я столкнулся с аналогичной проблемой с другим приложением. Я разместил этот вопрос на суперпользователе и, как правильно указал принятый ответ, у меня была дополнительная цитата, PATH которая вызывала проблемы со всеми путями, добавленными после цитаты. У меня такое чувство, что какая-то установка Chocolatey добавляет эту тревожную цитату, но я просто не уверен, какая именно.

После добавления в PATH , вы перезапустили командную строку? PATH загружается только при инициализации новых сеансов командной строки. Да, Давин, я перезагружал командную строку уже несколько раз У меня есть «C: \ Program Files \ nodejs \» в моей системе, PATH и все работает в Windows 7. Можете ли вы открыть новую командную строку и набрать PATH (нажать <enter>) и еще раз проверить, что вы видите там «C: \ Program Files \ nodejs \»?

До конца вашей переменной Path в разделе «Пользовательская переменная» переменных среды в свойствах системы.

После этого снова откройте командную строку и введите

Это должно работать.

Причина, по которой я не принял ответ, заключалась в том, что у меня уже была эта запись пути. Причина, по которой он не работал, была другой. Я дал большие пальцы за ваш ответ, хотя точка с запятой разделяет различные пользовательские переменные, которые вы можете иметь. Поэтому обычно у вас уже есть несколько путей в переменных среды, и для добавления нового сначала нужно отделить их от остальных, добавив точку с запятой перед тем путем, который вы хотите добавить. Установщик node.js уже поместил переменную path для меня. Но у меня все еще нет npm в командной строке.

Не забудьте перезагрузить компьютер после установки узла! Этот получил меня.

Не уверен, если вам это нужно, если вы устанавливаете с помощью Chocoletey. Вам не нужно перезагружаться, а просто закрыть свой терминал и открыть его снова. @Suhas… win 10 - приглашение администратора PS -choco install nodejs - перезапустил код… ЕЩЕ пришлось перезагрузиться Код VS обновился сам. Пришлось перезагрузить, больше ничего не получалось.

Чтобы уточнить ответ Брено . Для Windows 7 эти шаги работали для меня:

  1. Откройте панель управления (нажмите кнопку «Пуск», затем нажмите « Панель управления» )
  2. Нажмите Учетные записи пользователей
  3. Нажмите Изменить мои переменные среды
  4. Выберите PATH и нажмите Edit . кнопку
  5. В конце значения переменной добавьте ;C:\Program Files\nodejs
  6. Нажмите Ok в окне «Изменить пользовательскую переменную», затем нажмите Ok в окне «Переменные среды».
  7. Запустите окно командной строки (нажмите кнопку Пуск, затем введите cmd в поиск и нажмите Enter)
  8. В командной строке ( C:\> ) введите npm и нажмите ввод; теперь вы должны увидеть текст справки ( Usage: npm <command> и т. д.), а не « npm не распознается . »
На некоторых системах это может быть ;C:\Program Files(x86)\nodejs .

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

Для пользователей Windows : картинка говорит тысячу слов

Не забудьте запустить cmd от имени администратора.

Я установил Node снаружи, Program Files и это решило проблему. Спасибо. Такая простая вещь, которую все пропустили. Спасибо, Рауль. Ваш ответ является последним не по значимости и решил проблему. спасибо мужчина

У меня была та же проблема, описанная Ашу , но в дополнение к этому запись PATH для nodejs была завершена обратной косой чертой:

Я также должен был удалить этот последний обратный слеш, чтобы он работал.

Вы пишете «вдобавок», но единственное изменение, которое мне пришлось сделать, - это удалить косую черту в системной переменной среды Path.

Если вы запустите загруженный файл и установите его, они будут автоматически настроены для вашей системы

Вам больше не нужны никакие другие конфигурации, теперь вы можете использовать команду npm где угодно

«npm» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.

Для пользователей Windows выполните следующие действия:

  1. Перейти к свойствам моего компьютера
  2. Нажмите Advanced System Setting на левой панели окна.
  3. Теперь у вас есть окно «Свойства системы». Нажмите Дополнительно
  4. Затем нажмите Переменная среды кнопку
  5. Теперь у вас есть окно переменной среды: из системной переменной выберите путь
  6. Нажмите Редактировать

В конце значения переменной добавьте ;C:\Program Files\nodejs\

Примечание . Если вы установили nodejs на другие диски, действуйте соответствующим образом.

Очень важное примечание : «Закройте командную строку и перезапустите снова» (это очень важно, потому что, если вы не перезапустили свою командную строку, изменения не будут отражены.)

Читайте также: