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

202

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

  1. Установка с использованием Chocolatey ==> npm не распознается
  2. Установка с использованием 64-битного установщика nodejs из nodejs.org ==> npm не распознается
  3. На этом этапе бег where npmдает мнеc:\User\<Username>\AppData\Roaming\npm котором нет ничего
  4. Я выяснил, что nodejs установлен в C:\Program Files\nodejs. Открытие командной строки в этом каталоге делаетnpm работу нормально.
  5. Поэтому я добавил C:\Program Files\nodejsкPATH только , чтобы получить ту же ошибку еще раз , чтоnpm is not recognized
  6. Одна из проблем github в репозитории nodejs говорит о том, что мне нужно перезагрузить компьютер, и он исправит это. Но это не помогло до сих пор
  7. Я вижу Node.jsзначок в моем Start -> Programmsменю, который выводит меня на консоль nodejs, но не уверен, что с этим делать.

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

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

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

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

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

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

Ответы:

347

Просто добавь:

;C:\Program Files\nodejs\

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

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

npm

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

Брено
источник
4
Причина, по которой я не принял ответ, заключалась в том, что у меня уже была эта запись пути. Причина, по которой он не работал, была другой. Я дал большие пальцы за ваш ответ, хотя
Suhas
4
точка с запятой разделяет различные пользовательские переменные, которые вы можете иметь. Поэтому обычно у вас уже есть несколько путей в переменных среды, и для добавления нового сначала нужно отделить их от остальных, добавив точку с запятой перед тем путем, который вы хотите добавить.
Брено
2
Мне нужно немного времени, чтобы найти Как добавить <code>; C: \ Program Files \ nodejs \ </ code> в "Пользовательская переменная". Разделите это ниже: 1: Откройте окно Свойства системы (Пуск -> Настройки -> Панель управления -> Производительность и обслуживание -> Система). 2. Выберите вкладку «Дополнительно». 3.Нажмите кнопку «Переменные среды». 4.Нажмите кнопку «Новый» под «Пользовательскими переменными». 5.Добавьте «Путь» и «; C: \ Program Files \ nodejs \»
Вэнь
6
Установщик node.js уже поместил переменную path для меня. Но у меня все еще нет npm в командной строке.
MrFox
7
Вы перезагрузили @MrFox?
Брено
116

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

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

Чтобы уточнить ответ Брено ... Для 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 не распознается ... »

Теперь вы можете начать использовать npm !

Люк
источник
6
На некоторых системах это может быть ;C:\Program Files(x86)\nodejs.
Кайзер
17

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

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

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

C:\Program Files\nodejs\

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

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

Я столкнулся с точно такой же проблемой и заметил, что после установки node.js в разделе пользовательских переменных для PATH появилась новая запись пути со значением -> c: \ User \\ AppData \ Roaming \ npm. Также к записи Path в системной переменной добавляется -> C: \ Program Files \ nodejs. Теперь, поскольку пользовательская переменная имеет преимущество перед системой, у вас есть две возможности это исправить. Удалите путь из пользовательской переменной или исправьте правильный путь (C: \ Program Files \ nodejs). Перезапустите CMD, и он должен работать.

Ашу
источник
7

Просто скачайте и установите Node.js отсюда https://nodejs.org/en/

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

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


Если Nodejs успешно установлен и по-прежнему отображает сообщение, подобное этому:

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

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

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

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

  8. Нажмите Ok все открытое диалоговое окно

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

Теперь вы можете использовать команду npm где угодно

Удхав Сарваия
источник
6

Если вы используете VS Code, закройте VS Code и откройте снова.

Я попытался закрыть Терминал и затем открыть новый Терминал, но это не сработало.

Перезапуск VS Code работает!

CodeMirror
источник
4

Была такая же проблема на Windows 8.1 64 бит.
Оказывается, у меня возникает эта проблема, если я запускаю cmd, набирая его в строке пути в верхней части окна папки
или
когда я сдвигаю правой кнопкой мыши в окне папки, а затем открываю командную строку из списка.

Когда я запускаю cmd, используя Run или Just из исполняемого файла cmd.exe, он работает.

якобиан
источник
4

Если вы получаете эту ошибку через учетную запись службы, например, службу контроллера Visual Studio TFS Build или любую другую фоновую службу, убедитесь, что вы перезапускаете службу после установки npm, поскольку новые параметры среды PATH не будут восприняты уже запущенными процессами. Я получал ту же ошибку через службу сборки, но в консоли был установлен и запущен npm.

Эсан Махпур
источник
4

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

  1. Предоставлен путь к файлу powershell. Для меня путь был C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Затем я открыл командную строку с правами администратора и скопировал это

    @powershell -NoProfile -ExecutionPolicy unresricted -Command "iex ((новый объект net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && SET PATH =% PATH%;% ALLUSERSPROFILE% \ шоколадным \ Bin

в командной строке cmd.

  1. Следующий, choco установить nodejs
  2. Перезагрузите и все заработало нормально. Попробуйте открыть cmd без прав администратора и запустить npm -v Cheers.
rash.tay
источник
3

Я столкнулся с этой проблемой также. Оказывается, Windows не пользуется одинарными кавычками в командной строке. Виновником был один из моих сценариев npm. Я изменил одинарные кавычки, чтобы избежать двойных кавычек:

'npm -s run sass-build'

в

\"npm -s run sass-build\"
Скотт Доррито
источник
3

Я обновляю эту ветку новым ответом, потому что нашел решение моей жалкой ситуации спустя не менее недели ...

Для тех, кто все еще испытывает ошибку, даже если у них значение пути установлено правильно, проверьте переменную pathext, чтобы иметь значение (значение по умолчанию в windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .wsf; .wsh; .msc

Моя должна была установить только: .BAT и его изменение решило проблему. Интересно, почему никто не поднял это ...

Надеюсь это поможет!

A.KHOUS
источник
2

Я установил nodejs, следуя этому руководству по AngularJS . Команда npm работала, когда я открывал новое окно cmd, но не в текущем.
Таким образом, исправление было закрыть и открыть новое окно cmd .

miva2
источник
2

Я столкнулся с этой проблемой на днях на моем компьютере с Windows 7. Проблема была не в моем пути, но мне пришлось использовать экранированные косые черты вместо таких, как эта:

"scripts": {
    "script": ".\\bin\\script.sh"
}
Даниэль Лизик
источник
2

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

  1. Нажмите кнопку запуска Windows.
  2. Найдите « ALL APPS », там вы увидите командную строку Node.js и Node.js.
  3. Вы можете запустить командную строку Node.js от имени администратора и сразу же после запуска отобразит сообщение «Ваша среда настроена для использования Node.js 6.3.0 (x64) и npm».

и тогда это работает оттуда ...

S.Droid
источник
1

Я установил Node.js и при попытке установить Ionic и Cordova, используя этот кусок кода:

npm install -g cordova ionic

Я столкнулся с вышеуказанной ошибкой. Я добавил «C: \ Program Files \ nodejs» в переменную среды «PATH». Но все же не смог преодолеть эту проблему. Оказалось, что моя переменная PATH была длиннее 2048 символов, и поэтому я не смог добавить к ней путь Nodejs. Мне пришлось удалить путь другой программы и добавить путь Nodejs. Закройте и снова откройте командную строку и попробуйте снова установить Ionic. Это сработало для меня.

Сундар Рам
источник
1

для меня добавление пути к PATH не помогло. Запустите c:\Program Files\nodejs\nodevars.batвместо этого, он сделает всю работу за вас

Чебурек
источник
1

Ну, в моем случае, проводя тестирование через Mocha, я попробовал все, только чтобы понять, что мне нужно удалить одинарные кавычки вокруг тега сценария теста внутри package.json.

Я запускаю mochaтестовый пример для всех *.test.jsфайлов, как показано ниже:

package.json

Перед:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

После (удаление одинарных кавычек - npm run test):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Сработал для меня, на тот случай, если кто-то еще застрянет на этом.

Ylama
источник
1

Если все выглядит хорошо. Я бы посоветовал проверить это для PATHEXT .CMD должен быть добавлен. введите описание изображения здесь

Gitesh
источник
Ваш ответ исправил 100% мою проблему. Спасибо.
Готье Батез
0

Для windows8 щелкните правой кнопкой мыши на свойствах моего компьютера, затем выберите переменные окружения: пользовательская переменная или системные переменные >> new >> C:\Program Files\nodejs введите имя и путь переменной: вот так Тогда хорошо, теперь откройте cmd и введите npm, это будет работать

Имран Хан
источник
2
Здравствуй! Добро пожаловать в ТАК. Пожалуйста, посмотрите в разделе справки о том, как ответить . Чем это отличается от ранее опубликованных ответов? Есть ли что-то особенное, отличное от ответа @ Luke для Windows 7? Указанная проблема с ;в пути не относится? Если вы только подтверждаете это, да, принятый ответ по-прежнему применим в Windows 8, рассмотрите возможность удаления своего ответа и добавления информации в качестве комментария к принятому ответу. Если вы вносите что-то новое в таблицу, обновите свой ответ, чтобы отразить это. Лучший
вауахва
0

выполните всего 2 шага 1. Загрузите nodejs вручную, теперь перейдите по этому пути, например, C: \ Program Files \ nodejs \ 2. Затем добавьте новый путь, например имя: путь и имя переменной: C: \ Program Files \ nodejs \, нажмите кнопку ОК и закройте cmd подскажите. снова откройте и просто введите npm

Атчута рама редди карри
источник
0

Проверьте конфигурацию npm командой:

npm config list

Ему нужны свойства: "префикс", глобальный "префикс" и "расположение узла узла".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

В этом случае необходимо добавить эти пути в конец переменной окружения PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;
Пакс Бич
источник
0

Если вы использовали ms build tools для установки узла, путь здесь:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs
Helzgate
источник
-2

Нам нужно установить nodejs, и больше ничего нам не нужно делать, а затем просто использовать командную строку и изменить каталог на проект, в который вы хотите установить npm, а затем использовать команду npm install. Это сработало для меня.

Вивек Верма
источник