нг не распознается как внутренняя или внешняя команда

201

Работает windows 7 Professional 32bit.

Я попытался запустить npm install -g angular-cliоба под нормальным или админ. 2016-06-23_14h46_40

Я также попытался добавить его в переменные окружения в PATH:, (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)но безуспешно.
2016-06-23_14h56_48

Что я делаю не так?

Кристиан Мускалу
источник
6
Конечно, вы хотите каталог ( C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) в %PATH%?
Биффен
Я не уверен. Я попробовал это просто, чтобы увидеть, работает ли 'ng', но это не так.
Кристиан Мускалу
Вы открыли новую командную строку? Переменные среды не будут распространяться на работающие. Попробуй echo %PATH%убедиться, что это правильно.
Биффен
2
Ну, проверьте, что %PATH%содержит (это список через точку с запятой) каталог, который содержит ng.exe.
Биффен
2
я нашел решение этой проблемы stackoverflow.com/a/46874999/7968316
Rixwan

Ответы:

236

Для меня это работает с:

npm run ng <command>
Богдана Задич
источник
10
Знаете ли вы причину, почему это так и как мы можем избавиться от «npm run»?
Пратик Ганди
5
но это не пропускает никаких дополнительных параметров после ng build
hakuna
Для прямого запуска через ngкоманду вы можете связать свой @angular/cliс npm, используя npm link @angular/cli
Асад
3
@PratikGandhi Это потому, что cmdможно запускать только команды, указанные в переменных среды (в данном случае npm). Этот путь добавляется, когда вы устанавливаете узел в вашей системе глобально. Когда вы добавляете полный путь C:\Users\<user>\AppData\Roaming\npm\node_modules\@angular\cli\bin\ngк переменным окружения и перезапускаетесь cmd, он будет ngпринят как команда. Кроме того, вы также можете использовать командную строку Node.js для запуска команд ng.
ММ
218

Я решил эту проблему в соответствии с рисунком:

запустить в CMD

 npm install -g @angular/cli

а потом

(открыть в Windows 10) Панель управления \ Все элементы панели управления \ Система или в соответствии с рисунком

шаг 1:

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

шаг 2 :

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

шаг 3:

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

step4:

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

step5:

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

И, наконец, компьютер должен быть перезагружен.

BehrouzMoslem
источник
вы получили комментарии Angular и NG (в рез) неправильно;)
Shaheen K
1
в моем случае мне нужно было только добавить путь к npm.
Киран
41
Вам не нужно перезагружать компьютер в конце, просто перезапустите командную строку.
Аравинд Гопи
Или вы можете выйти («выйти» на языке win 10), а затем снова войти в систему. Это «сбросит» все переменные среды. Но это маленький картофель .... рядом с этим фактическим ответом. Upvote. Спасибо.
granadaCoder
C:\Users\<YOURUSER>\AppData\Roaming\npmэто не угловой путь, а путь npm, поэтому, если вы добавите этот путь к своим переменным среды, то все пакеты npm, которые вы устанавливаете с флагом -g, будут доступны в вашей командной строке (не только ng).
PinguinoSod
114

Добавление C:\Users\DELL\AppData\Roaming\npmв системную переменную Pathработало для меня. Пожалуйста, найдите подходящий путь к файлу 'npm'

Также проверьте, добавили ли вы свой angular-cli\binпуть к переменной пути.

Sabari
источник
5
Также попробуйте перезагрузить компьютер. После этого команда ng начала работать.
Матеуш Мигала
1
Найдите путь к файлу "ng.cmd". обновите переменную среды PATH, указав путь.
Джнана
4
Это работало для меня в Windows 10, но я добавил «% USERPROFILE% \ AppData \ Roaming \ npm», чтобы охватить нескольких потенциальных пользователей, извлекающих свои собственные профили.
Тим
2
%AppData%\npmбудет расширяться до значений @TimMcElwee и @ sabari и не зависит от пользователя и компьютера.
ps2goat
добавление папки \ npm к переменным пути исправило это для меня
Kaspazza
68

Я использую WIN 10, просто разберись с этой проблемой. Введите код ниже в cmd:

npm config получает префикс

и скопируйте и вставьте путь, который вы получили сверху, в переменные окружения вашего компьютера -> окно пользовательских переменных -> путь -> редактировать - C: \ Program Files \ nodejs \ node_global , ваш путь может отличаться.

Нажмите Ok и снова откройте окно cmd, введите версию ng , и все заработает! Ура!

YuSolution
источник
Работает как шарм! Оболочка MySQL перекрыла мою переменную пути пользователя .. :(
Хамза
40

Просто откройте командную строку (запустите от имени администратора). Убедитесь, node --vчто 6,9,0 или выше и npm --v3,0,0 р выше.

После этого выполните следующую команду:

npm install -g @angular/cli

Как только угловой установлен. Вы можете увидеть запись углового кли на пути

C:\Users\Dell\AppData\Roaming\npm\node_modules\@angular

Тогда попробуйте помочь. Это сработает.

user1057641
источник
28

1) Введите ниже команду в командной строке

npm install -g @angular/cli

2) Убедитесь, что C: \ Users \ _username_ \ AppData \ Roaming \ npm этот путь не скрыт .

3) Добавьте C: \ Users \ _username_ \ AppData \ Roaming \ npm и

C: \ Users \ _username_ \ AppData \ Roaming \ НОГО \ node_modules @ угловая \ кли \ Bin как к переменному окружающей среде пути .

4) Откройте новую командную строку и введите ng help . Это сработает.

Shrirang
источник
Я не мог видеть каталог AppData, пока не получил разрешение администратора для своего компьютера с Windows 10, а затем открыл окно командной строки, щелкнув Запуск от имени администратора.
Роберт Стивенс
Я скрыл эту папку, но она все еще работала. Это лучшее решение. В качестве FYI, если необходимо: вы разделяете пути <what's already there>;C:\Users\_username_\AppData\Roaming\npm;C:\Users\_username_\AppData\Roaming\npm \node_modules@angular\cli\bin
точкой с запятой, чтобы получилось
18

С командой

npm install -g @angular/cli@latest

Работает нормально, теперь я могу запустить команду ng.

Янь Патель
источник
16

Я следовал ниже шаги для решения этой проблемы в Windows 10 :

  1. Сначала убедитесь, что вы установили Angular CLI. Вы можете использовать ниже, чтобы установить то же самое.

npm install -g @ angular / cli @ latest

  1. Убедитесь, что AppData видимы и перейдите к пути ниже.

C: \ Users \ rkota \ AppData \ Roaming \ НПМ

Тот же путь можно найти, запустив ниже тоже:

npm config получает префикс

  1. Добавьте указанный выше путь, то есть «C: \ Users \ rkota \ AppData \ Roaming \ npm», в переменную окружения PATH и убедитесь, что он был добавлен путем запуска пути в командной строке.
  2. Закройте командную строку и теперь попробуйте запустить ниже:

нг - версия

Вы сможете увидеть версию CLI.

Рави Шанкар Кота
источник
14

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

Таблицы среды -> Системные переменные -> Путь:

C: \ Users \ Администратор \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin; C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin

Обратите внимание, что после него не должно быть пробелов;

Это оказалось моей проблемой.

Кристиан Мускалу
источник
Найдите путь к файлу ng.cmd. Обновите значение переменной среды PATH с тем же путем. Перезапустите консоль командной строки, и все готово.
Джнана
3
Ответ ниже "Префикс получения конфигурации npm" - правильный подход
Питер Моррис
1
если вы не видите ngв папке ng.cmdили Windows Command Scriptв столбце Тип, иначе это нг в этом angular-cli\binне работает.
Jeb50
этот ответ нуждается в обновлении, так как сейчас на пути в CLI v7.0 + является C: \ Users \ имя_пользователя \ AppData \ Roaming \ НПМ
Hemendra
12

Вместо использования встроенной командной строки лучше начать использовать установленную версию командной строки NodeJS. Тогда он будет работать без проблем.введите описание изображения здесь

ты я
источник
2
Запуск where ngв этой консоли может помочь выяснить, что не так с путем. Это сделало это для меня, нг был разрешен в неправильном пользовательском AppData, следовательно, выполнил плохую версию кли.
Frederik.L
10

выполните следующие строки, чтобы решить проблему как для не найденной, так и для неопределенной версии ng

npm удалить -g angular-cli

Удаление npm --save-dev angular-cli

очистка кеша npm

npm install -g @ angular / cli @ latest

Раджа Фавад
источник
9

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

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

узел C: \ Users \ Администратор \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng версия

Могут быть символические ссылки обязательны. Не исследовано дальше.

При дальнейшем исследовании: установите путь как:% PATH%; C: \ Users \ Администратор \ AppData \ Roaming \ npm;

В Windows файл npm.cmd находится по указанному выше пути. Если указанная выше переменная окружения установлена, вы можете выполнить ее как ng version ng init

Рам Кумар Динеш
источник
7
  1. Откройте cmd и введите npm install -g @angular/cli

  2. В переменных среды добавьте либо в пользовательскую переменную, либо в системную переменную «Path» значение =C:\Users\your-user\.npm-packages\node_modules\.bin

  3. В cmd: c:\>cd your-new-project-path

  4. ...\project-path\> ng new my-app

    или ng all-ng-commands

sahosseini
источник
5

закройте cmd и снова откройте его с правами администратора или перезагрузите систему.

Джанак Бхатта
источник
5

Я столкнулся с той же проблемой, когда пытался установить angular cli локально с помощью команды.

npm install @angular/cli@latest

После этого у меня возникла та же проблема: C: \ Users \ vi1kumar \ Desktop \ tus \ ANGULAR \ AngularForms> ng -v 'ng' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Чем я пытался установить глобально

npm install -g @angular/cli@latest

В этом случае это сработало, мне было интересно, что это не возможно установить cli глобально?

После некоторого исследования я нашел эту статью очень полезной, надеюсь, она поможет кому-то, сталкивающемуся с подобной проблемой

Работа с несколькими версиями Angular CLI

Вики Кумар
источник
4

Это почти сработало для меня, но мне пришлось использовать:% USERPROFILE% \ AppData \ Roaming \ npm. В переменных среды ... / Системные переменные / Путь

Затем, когда я сделал CMD: "ng -v", я получил правильный ответ для углового кли.

user2030451
источник
4

npm install -g @angular/cli помог мне вместо npm install @angular/cli

Джастин ланге
источник
4

1- Установить

$ npm install -g @angular/cli

2- Убедитесь, где ваш ng.cmdприсутствует.

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

3- Затем добавьте этот путь в переменные.

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

Теоман Шипахи
источник
3

У меня была такая же проблема на Windows 7, 64-битная с npm v3.10.8.

  1. Я добавил путь, как было предложено: (C: \ Users ..... (ваше имя пользователя) \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng) и удалил angular-cli.
  2. После этого я очистил кэш npm, npm cache cleanкак показано здесь https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/ , Это гарантирует отсутствие остатков.
  3. Переустановил angular-cli с npm install -g angular-cliи вуаля.

    Надеюсь, что это может быть полезно!
CyberMessiah
источник
3

У меня возникла та же проблема, когда я пытался использовать синтаксис «ng new», и решил, что просто обновив существующую версию узла с 5.xx до 8.xx. После успешного обновления узла синтаксис работает отлично для меня. Пожалуйста, обновите существующую версию узла. Как ясно указано в угловой документации, для этих команд требуется версия узла> = 6.9.x. Для справки, пожалуйста, проверьте https://angular.io/guide/quickstart . В нем четко говорится: «Убедитесь, что вы используете хотя бы узел 6.9.x и npm 3.xx, выполнив в окне терминала / консоли узел -v и npm -v. Старые версии приводят к ошибкам, но более новые версии подходят».

Дурба Банерджи
источник
3

Я столкнулся с той же проблемой на x86, Windows 7;

  • удалено @ angular / cli
  • переустановил @ angular / cli
  • проверенные и проверенные переменные среды (никаких проблем нет) ...
  • Еще та же проблема:

Решение было файл .npmrc в C: \ Users {USERNAME} ... изменить префикс , так что он читает «префикс = $ {APPDATA} \ НПМ» ... Благодаря этому сайт для помощи в решении его

Акбер Икбал
источник
3

Я решил, добавив -% AppData% \ npm \ node_modules @ angular \ cli \ bin \ path к моему пути переменных среды

Саджид Ирфан
источник
2

В моем случае я сделал следующие шаги.

Все программы -> Узел JS-> Щелкните правой кнопкой мыши командную строку Node.js и выберите свойства, а также строку назначения в конце копии ниже.

/k "C:\Program Files\nodejs\nodevars.bat"

Я запустил Visual Studio Code и открыл файл ниже

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json и дал ниже

// Place your settings in this file to overwrite the default settings
{
  "terminal.integrated.shellArgs.windows": 
  ["/k", "C:\\Program Files\\nodejs\\nodevars.bat"]

}

Теперь я набрал ng -vв моем окне терминала Visual Studio, и это сработало.

Ziggler
источник
2

Я столкнулся с той же проблемой, и она решена. В конце я устанавливаю узел и интерфейс командной строки, используя другой профиль пользователя, и теперь я запускаю команду ng от имени другого пользователя. Поскольку узел и клиент, установленные с использованием другого узла входа пользователя, ничего не находят наC:\Users\&lt;user name&gt;\AppData\Roaming этому пути, и именно поэтому я получаю эту ошибку.

Я запускаю npm install -g @angular/cliкоманду и перезагружаю машину. Все работает нормально.

Нитин джайн
источник
2

Когда-нибудь в будущем. Применимо к машине с Windows 8.1. Запустите следующие команды

npm install -g @angular/cli

Выйдите из системы или перезагрузите компьютер.

Это должно добавить требуемый путь env, а не делать это вручную.

Krishneil
источник
2

Я также пытался поиграть с cmd, установив путь к переменной среды и т. Д., Но простой ответ - использовать командную строку nodejs.

Таким образом, вам не нужно задавать путь переменной среды или что-либо еще. Когда вы вызываете nodejs, он выдаст командную строку, используя команду «ng», без каких-либо настроек.

Bhaurao Birajdar
источник
2

Поскольку через год этот вопрос все еще задают снова и снова, я также опубликую свой ответ здесь.

Подсказка (только в Windows) - расположить записи в переменной пути справа.

Как говорит нам вики NPM :

Поскольку установщик помещает C: \ Program Files (x86) \ nodejs перед C: \ Users \\ AppData \ Roaming \ npm в вашей переменной PATH, он всегда будет использовать версию npm, установленную с узлом, вместо версии npm, установленной вами npm -g install npm@<version>.

Таким образом, ваша переменная пути будет выглядеть примерно так:

…;C:\<path-to-node-installation>;%appdata%\npm;…

Теперь у вас есть две возможности:

  1. Поменяйте местами две записи, чтобы они выглядели как
…;%appdata%\npm;C:\<path-to-node-installation>;…

Это загрузит версию npm, установленную с npm (а не с узлом) и с установленной версией Angular CLI.

  1. Если вам (по какой-либо причине) нравится использовать версию npm, связанную с узлом, добавьте прямой путь к вашей глобальной версии CLI Angualr. После этого ваша переменная пути должна выглядеть так: …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… или …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… для краткой формы.

Это работало для меня с тех пор, как сейчас.

jowey
источник
1

У меня была та же проблема, связанная с тем, что Visual Studio Code не мог выполнять какие-либо команды ng в встроенном терминале.

Я добавил% AppData% \ npm к пути в Windows 10, и мне не нужно было перезагружаться, я просто закрыл и снова открыл VS Code и не увидел его.

GaryP
источник
Тот же вопрос, к которому я установил новый путь, AppData\Roaming\npm\node_modules\@angular\cli\bin\ngи теперь он работает нормально
Абдалла Абдилла
1

Установите x32 версию nodejs вместо x64 версии (даже на 64-битной машине с Windows).

Нитиш Кумар
источник
1

Для меня что-то не так в переменной окружения PATH. Я удалил все пути, связанные с npm и добавил в начале PATH эту папку:

c:\Users\<your-user-name>\AppData\Roaming\npm\

Убедитесь, что у вас есть ;между путями.

Перейти к
источник
это правильный вариант, потому что оба Win7 и 10 имеют нг. cmd файл здесь.
Jeb50