'npm' не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл


201

Я абсолютно новачок у 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 додають цю тривожну цитату, але я просто не впевнений, який саме.


8
Після додавання до PATH, ви перезапустили командний рядок? PATHзавантажується лише при ініціалізації нових сеансів командного рядка.
Давін Тріон

Так, Давіне, я декілька разів перезапустив командний рядок
Suhas

У мене в системі "C: \ Program Files \ nodejs \", PATHі все, що працює на Windows 7.
Davin Tryon

5
Чи можете ви відкрити новий командний рядок і ввести PATH(натисніть <enter>) і двічі перевірте, чи там ви бачите "C: \ Program Files \ nodejs \"?
Давін Тріон

1
Так, у мене є C:\Program Files\nodejsвPATH
Suhas

Відповіді:


346

Просто додайте:

;C:\Program Files\nodejs\

В кінці змінної Path в розділі "Користувацька змінна" в розділі "Змінні середовища" в "Властивості системи".

Після цього знову відкрийте командний рядок і введіть

npm

Це має спрацювати.


4
Причиною, що я не прийняв відповідь, було те, що я вже мав цей шлях. Причина, по якій вона не працювала, була іншою. Хоча я дав великі пальці за вашу відповідь
Suhas

4
крапка з комою розділяє різні змінні користувача, які можна мати. Тому зазвичай у вас є деякі шляхи змінних вашого оточення, і щоб додати новий, спочатку вам потрібно відокремитись від решти, додавши крапку з комою до шляху, який ви хочете додати.
Брено

2
знайдіть у мене трохи часу, як знайти <code>; C: \ Program Files \ nodejs \ </code> на "Змінна користувача". Спільний доступ до цього нижче: 1: Відкрийте вікно Властивості системи (Пуск -> Налаштування -> Панель управління -> Продуктивність та обслуговування -> Система). 2.Виберіть вкладку Додатково. 3. Клацніть на кнопці Змінні середовища. 4.Натисніть кнопку Нова кнопка під "Користувацькі змінні" 5.add "Шлях" та "; C: \ Program Files \ nodejs \"
Вень

6
Інсталятор node.js вже поставив мені змінну контуру. Але у мене все ще немає npm у командному рядку.
MrFox

7
Ви перезавантажили @MrFox?
Брено

116

Не забудьте перезавантажити комп’ютер після встановлення вузла! Оце мене зачепило.


Не впевнений, чи потрібно вам це, якщо ви встановите за допомогою Chocoletey.
Сухас

58
Вам не доведеться перезавантажувати, а просто закрийте термінал і відкрийте його знову.
Сом

5
Перезавантажте, перезавантажте, перезавантажте!
Андрій День

@Suhas… win 10 - адміністрування PS PS -choco встановити nodejs - перезапустити код…
СТОЛЬНО

Код VS оновився. Довелося перезавантажити, нічого іншого не вийшло.
TDP

33

Щоб уточнити відповідь Брено ... Для Windows 7 ці кроки працювали для мене:

  1. Відкрийте панель керування (натисніть кнопку Пуск, потім клацніть Панель управління )
  2. Клацніть Облікові записи користувачів
  3. Клацніть Змінити мінні змінні середовища
  4. Виберіть PATH і натисніть Змінити ... кнопку
  5. В кінці значення змінної додайте ;C:\Program Files\nodejs
  6. Натисніть Ok в вікні «Edit Variable User», потім натисніть кнопку ОК у вікні «Змінні оточення»
  7. Запустіть вікно командного рядка (кнопка «Пуск», а потім введіть cmd у пошук та натисніть клавішу Enter)
  8. У запиті ( C:\>) введіть npm і натисніть клавішу enter; тепер ви повинні побачити текст довідки ( Usage: npm <command>тощо), а не " npm не розпізнається ... "

Тепер ви можете почати використовувати npm !


6
У деяких системах це може бути ;C:\Program Files(x86)\nodejs.
кайзер


16

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


Я встановив Вузол зовні, Program Filesі це вирішило проблему. Дякую.
Поліна

Таку просту річ всі пропустили. Спасибі Раулю. Ваша відповідь - не останнє, і вирішила проблему. спасибі людина
Gaurav khurana

12

У мене була та сама проблема, що описана Ашу , але на додаток до цього запис PATH для nodejs закінчується зворотною косою рисою:

C:\Program Files\nodejs\

Я також повинен був зняти цей остаточний ривок, щоб він працював.


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/uk/

Якщо запустити завантажений файл і встановити його, він автоматично налаштується для вашої системи

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


Якщо Nodejs успішно встановлений і все ще відображає таке повідомлення:

'npm' не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл.

Виконайте наведені нижче дії для користувачів Windows:

  1. Перейдіть до " Мій комп'ютер" Властивості
  2. Клацніть Розширені налаштування системи на лівій панелі вікна.
  3. Тепер у вас є вікно Властивості системи. Клацніть Додатково
  4. Потім натисніть Змінна середовища кнопку
  5. Тепер у вас є вікно змінної середовища: з системної змінної виберіть шлях
  6. Натисніть Редагувати
  7. В кінці значення змінної додайте ;C:\Program Files\nodejs\

    Примітка . Якщо ви встановили вузли на інших дисках, будь ласка, дійте відповідно.

  8. Клацніть Гаразд все відкрите діалогове вікно

Дуже важлива примітка : "Закрийте командний рядок та перезавантажте знову" (Це дуже важливо, оскільки якщо ви не перезапустили командний рядок, то зміни не відображатимуться.)

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


6

Якщо ви використовуєте код VS, закрийте код VS та відкрийте його знову.

Я спробував закрити термінал, а потім відкрити новий термінал, але це не вийшло.

Перезапуск коду VS працює!


4

Була така ж проблема в Windows 8.1 64 біт.
Виявляється, я отримую цю проблему, якщо я запускаю cmd, ввівши її в панелі шляху у верхній частині вікна папки
або
коли я зміщую клацання правою кнопкою миші у вікні папки, а потім відкриваю командний рядок зі списку.

Коли я запускаю cmd за допомогою Run або Just з виконуваного cmd.exe, він працює.


4

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


4

Можливо, ви вже отримали відповідь, але це може допомогти іншим, оскільки я нещодавно пережив цю проблему, і це я зробив:

  1. Забезпечується вхід шляху до повноважень. Для мене шлях був C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Потім я відкрив cmd-рядок з адміністративними привілеями і скопіював це

    @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 ')) && SET PATH =% PATH%;% ALLUSERSPROFILE% \ шоколадний \ смітник

в підказку cmd.

  1. Далі, choco встановити nodejs
  2. Перезавантажте і все спрацювало нормально. Спробуйте відкрити cmd без прав адміністратора та запустіть npm -v Cheers.

3

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

'npm -s run sass-build'

до

\"npm -s run sass-build\"

3

Я оновлюю цю тему новою відповіддю, тому що знайшов рішення своєї жалюгідної ситуації не менше ніж за тиждень ...

Для тих, хто все ще відчуває помилку, незважаючи на те, що значення їх шляху встановлено належним чином, перевірте зміну патексту на значення (значення за замовчуванням у Windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

Моє було встановити лише на: .BAT і зміна це вирішило проблему. Цікаво, чому цього ніхто не виховував ...

Сподіваюсь, це допомагає!


2

Я встановив nodejs за цим підручником AngularJS . Команда npm працювала, коли я відкривав нове вікно cmd, але не в поточному.
Тож виправлення було закрити та відкрити нове вікно cmd .


2

Я зіткнувся з цією проблемою днями на своїй машині Windows 7. Проблема не була моєю траєкторією, але мені довелося використовувати нахилену косу нахилу вперед, а не наступні косої лінії:

"scripts": {
    "script": ".\\bin\\script.sh"
}

2

Якщо пакет успішно встановлений і все ще відображається, повідомлення " npm" не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма або пакетний файл. "

  1. Натисніть кнопку запуску Windows.
  2. Шукайте " ВСІ APPS ", там ви побачите рядок Node.js та Node.js Command.
  3. Ви можете запустити командний рядок Node.js як адміністратор, і як тільки він буде запущений, він відобразить повідомлення "Ваше середовище створено для використання Node.js 6.3.0 (x64) та npm."

а потім це працює звідти ...


1

Я встановив Node.js і, намагаючись встановити Ionic та cordova, використовуючи цей фрагмент коду:

npm install -g cordova ionic

Я зіткнувся з вищевказаною помилкою. Я додав "C: \ Program Files \ nodejs" до своєї змінної середовища "PATH". Але все-таки не вдалося подолати це питання. Виявилося, що моя змінна PATH була довшою 2048 символів, і тому я не зміг додати до неї шлях Nodejs. Мені довелося видалити шлях іншої програми та додати шлях Nodejs. Закрийте та знову відкрийте підказку cmd та спробуйте встановити 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):

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

Працював для мене, про всяк випадок, коли хтось ще й зациклюється на цьому.


1

Якщо все виглядає нормально. Я б радив перевірити це на наявність PATHEXT .CMD. введіть тут опис зображення


Ваша відповідь на 100% вирішила моє питання. Дякую.
Готьє Буттес

0

Для Windows8 клацніть правою кнопкою миші на моїх властивостях ПК, потім натисніть на змінну середовища користувача змінну користувача або Системні змінні >> new >> поставте ім'я змінної та шлях змінної: як це. C:\Program Files\nodejs Тоді добре зараз, відкрийте cmd і введіть npm, це буде працювати


2
Привіт! Ласкаво просимо до SO. Перегляньте розділ довідки про те, як відповісти . Чим це відрізняється від раніше розміщених відповідей? Чи є щось конкретно відмінне від відповіді @ Luke для Windows 7? Чи ;не стосується згаданої проблеми зі шляху? Якщо ви просто підтверджуєте це, так, що прийнята відповідь все ще застосовується в Windows 8, будь ласка, спробуйте видалити свою відповідь і додати інформацію як коментар до прийнятої відповіді. Якщо ви вносите щось нове в стіл, оновіть свою відповідь, щоб це відобразити. Найкраще
wahwahwah

0

виконайте лише 2 кроки 1.Завантажте nodejs вручну, тепер перейдіть до цього шляху, як C: \ Program Files \ nodejs \ 2. Далі додайте новий шлях, наприклад, ім'я: шлях та ім'я змінної: C: \ Program Files \ nodejs \ натисніть ОК та закрийте cmd підказка. знову відкрийте і просто введіть npm у відповідь


0

Перевірте npm config за командою:

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 інструменти для встановлення вузла, шлях тут:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs

-2

Нам потрібно встановити nodejs, і нічого іншого нам не потрібно робити, а потім просто скористатися командним рядком і змінити каталог до проекту, в якому потрібно встановити npm, а потім використовувати команду npm install. Це спрацювало на мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.