Термин 'ng' не распознается как имя командлета


104

Сегодня, работая с базовым AngularJS Intro, я столкнулся с проблемой.

Я открыл PowerShell, чтобы приступить к проекту. НПМ сработал.

Мне удалось установить Angular, используя:

npm install -g @angular/cli

Каждый раз, когда я пытался запустить ng, я получал:

the term 'ng' is not recognized as the name of a cmdlet

1
сделайте это в режиме « Запуск от имени администратора »
Педрам Ахмадпур

Я пробовал все здесь, но безрезультатно. Мне тоже пришлось бежать, npm install -g @angular/cliи тогда это сработало.
Jnr

Вы действительно используете AngularJS? В 2017 году вы, вероятно, использовали Angular (без JS).
LosManos

Ответы:


119

Первый путь в переменной пути должен быть путем NPM. Открыв командную строку Node.js, я обнаружил, что там работает команда ng. Я покопался в ярлыке и обнаружил, что он ссылается на команду, чтобы гарантировать, что первая переменная Path - это NPM. Исправить:

  1. Щелкните правой кнопкой мыши "Мой компьютер" (Windows)
  2. Выбранные расширенные настройки системы
  3. Щелкнул "Переменные среды"
  4. Под переменной "Путь" внесено ПЕРВОЕ значение в список. %AppData%\npm

Как только я это сделал, я смог закрыть Powershell и снова открыть, и все сработало.


После выполнения вышеуказанных шагов "ng -v" работает, но "ng build" не работает. Выдает ошибку: «Кажется, вы не зависите от« @ angular / core ». Это ошибка».
PSR

6
Вы также можете пропустить все это во многих случаях, просто набрав «npm run ng ....» Npm обычно работает в PowerShell без изменений, а «npm run» позволит вам использовать команды ng.
SmoveBB,

У меня это сработало. Я просто хочу понять, почему мы получаем эту ошибку после установки nodejs, которая уже находится в пути.
Сародж Кумар Саху,

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

1
@LaxminarayanCharan "если кто-нибудь может мне помочь по скайпу или масштабированию" не подходит для SO. Если у вас есть конкретная проблема с применением информации, которая уже доступна на этом сайте, задайте новый вопрос с минимально воспроизводимым примером .
jonrsharpe

82

Сначала установите Node.js, затем перейдите в папку проекта с помощью командной строки, например D: \ project, а затем выполните эту команду:

npm install -g @angular/cli

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


5
-gОзначает глобальный характер . Если вы устанавливаете глобально, не имеет значения, находитесь ли вы в D: \ vs D: \ project при запуске этой команды. Одно предупреждение: это может быть не то, что вам нужно, если вы хотите использовать разные версии angular / cli для разных проектов.
mattliu

это, безусловно, правильный ответ, если angular / cli не установлен
caras

20

В «Переменных окружения»

В разделе «Системные переменные»

В переменной "Путь" и перед "C:\Program Files (x86)\nodejs\"добавлением =>"%AppData%\npm"


1
Именно то, что нужно .. Большое спасибо
Md Faraz

Сработал для меня. Спасибо. Был .npmrcфайл с prefixустановленным путем AppData.
Анантападманабхан,

12

Решение сработало для меня:

Добавьте путь к переменной среды

C:\Users\YourPcName\AppData\Roaming\npm

а также вашу папку bin файла angular [представьте их сам]

C:\Users\YoutPcName\AppData\Roaming\npm\node_modules\angular-cli\bin

а затем запустите ng -v его, в командной строке появится окно angular cli gui. Примечание. После запуска npm i -g @angular/cliперезапустите командную строку и проверьте, работает ли она, в противном случае очистите кеш и повторите вышеуказанные шаги.


После выполнения «ng install -g @ angular / cli» мне нужно было установить AppData в переменной пути. Спасибо, теперь я могу работать без сбоев.
napster

У меня работает, закрыл и перезапустил VSCode
Hanz Cheah


5

Для меня сработало изменение политики на Unrestricted:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

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

5

Я использовал следующее:

npm run ng serve

Это сработало для меня без необходимости устанавливать переменные среды.

После этого пришлось установить машинописный текст:

npm install typescript@">=3.4 <3.6"

именно то, что я хотел. у меня это сработало после запуска npm run ng serve
Джогиндер Малик

3

Если название вашего проекта содержит '-'. Удалите и попробуйте. Это может вызвать проблемы при запуске ng.


2

Открыть Изменить системные переменные среды

В переменные «Путь» и «Путь к модулю PS» добавьте «% AppData% \ npm»

Запустите Visual Code от имени администратора

Меня устраивает!


2

Вам просто нужно закрыть код Visual Studio и снова перезапустить. Но чтобы команда ng работала в vs code, вам нужно сначала скомпилировать проект с помощью cmd в режиме администратора.

Я тоже столкнулся с той же проблемой. Но этот метод решил это.


2

Все ответы касаются того, как это исправить, но лучше всего загрузить nodeJs и позволить установщику добавить в переменную PATH.

Версии 12 и 13 слишком новые, поэтому мне пришлось скачать 11.15 https://nodejs.org/download/release/v11.15.0/


2

Я получал эту ошибку Visual Studio Codeпри выполнении ng-build. Выполнение команды ниже в cmd устранило мою проблему

npm install -g @angular/cli@latest

1

Вместо того, чтобы вводить команду «ng serve» в терминале кода Visual Studio, откройте путь к приложению angular в командной строке (Запуск от имени администратора).

Затем дайте команду "ng serve".

Затем откройте браузер и перейдите по адресу http: // localhost: 4200 /

Меня устраивает.


1

Вам следует обновить node js до последней версии. В противном случае удалите node js и установите его снова.


1

Этот сценарий PowerShell работал для добавления правильного параметра в мою переменную среды «Путь» (в качестве настройки для каждого пользователя). Он добавляет:% AppData% \ npm ... и затем перезапускает командную строку, которая использует «ng»

   $existingPath = [System.Environment]::GetEnvironmentVariable("Path","User")      
   write-host "existing PATH variable is $existingPath"                                          
   $newPath = "%AppData%\npm;$existingPath"                                          
   write-host "new      PATH will be     $newPath"                                               

   # update here                                                                                      
   [System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")           

   $finalPath = [System.Environment]::GetEnvironmentVariable("Path","User")         
   write-host "final    PATH variable is $finalPath"                                             

Работает как описано.
koosk

1

Я решил, выполнив следующие шаги

1. Щелкните правой кнопкой мыши командную строку 2. Запустите от имени администратора 3. введите npm install -g @ angular / cli


1
вам не следует устанавливать пакеты npm глобально,
Тарик Веллинг,

@TarickWelling, пожалуйста, приведите аргумент в поддержку своего утверждения.
Якоб-Ян Моссельман

Тогда почему существует -g? И как вы можете получить инструменты CLI без -g?
tpartee

1

1) Щелкните правой кнопкой мыши "Мой компьютер" (Windows) 2) Выбранные дополнительные параметры системы 3) Щелкните "Переменные среды" 4) В разделе "Путь" внесено ПЕРВОЕ значение в список% AppData% \ npm

Изначально : C: \ Program Files \ Microsoft MPI \ Bin \;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ TortoiseSVN \ bin;

После добавления пути : C: \ Program Files \ Microsoft MPI \ Bin \; % AppData% \ npm; % SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ TortoiseSVN \ bin;

Еще одна вещь, которую вы можете попробовать, если ошибка все еще возникает, как показано ниже 1) перейдите в местоположение проекта через командную строку: C: \ Users \ brijeshray \ ParentChild> 2) Переустановите или обновите существующий angular как: npm install -g @ angular / cli @самый последний

3) Перейдите на компьютер или ПК -> Свойства -> Дополнительные настройки системы -> Переменная среды -> добавьте путь под «Пользовательская переменная» (если «Путь» там нет) ==> C: \ Users \ brijeshray \ AppData \ Roaming \ npm -> сохранить и перезапустить визуальный кодвведите описание изображения здесь


1

Исправлено: в этой системе отключен запуск скриптов.

Откройте Powershell

    Set-ExecutionPolicy RemoteSigned
    А

(A: ДА ВСЕМ)

Выполнено!


1

Для VSCode Terminal первого открытия cmdи установки angular-cliкак глобального

npm install -g @angular/cli

Затем обновите свои переменные среды после этого шага

  1. win + s // это откроет окно поиска
  2. Тип Редактировать переменные среды
  3. Переменные открытого окружения
  4. Добавить %AppData%\npmвнутрьPATH
  5. Щелкните OKи закройте.

Теперь вы можете перезагрузить компьютер, VSCodeи он будет работать, как обычно.


0

Я использовал npm (5.5.1), обновив его до последней версии, решив мою проблему.


0

Вы также можете убедиться, что запускаете командную строку - или любой другой терминал, который используете - в качестве администратора. Я использую Visual Studio Code, и эта ng serveкоманда выдает именно ту ошибку, если VS Code не запущен от имени администратора.


0

Запустите Powershell или командную строку не от имени администратора.


0

После изменения пути вам необходимо перезапустить PowerShell. Компьютер перезагружать не нужно.


0

Проблема НЕ в установке NPM и не в пути! Если вы хотите использовать команду «ng», вам необходимо установить angular-cli. выполнив следующую команду

npm install -g @angular/cli

https://cli.angular.io/


0

Основываясь на приведенных выше ответах, это консолидация.

  1. Запустите команду npm install -g @angular/cli@project_version
  2. Добавьте указанные ниже пути к переменным среды -> Системные переменные -> Путь (для которых требуется доступ администратора) .

    C: \ Users \ YourPcAccountName \ AppData \ Roaming \ npm C: \ Users \ YoutPcAccountName \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin Убедитесь, что первое значение указано как %AppData%\npm

  3. Снова откройте командную строку из папки проекта и запустите ng serve.

0

Я запустил команду ng serve в командной строке. Он успешно скомпилировал проект. Затем любые изменения, сохраненные в VS Code, автоматически обновляются в браузере.

PS: Я установил angular глобально.



0

Также убедитесь, что папка node_modules также существует в каталоге проекта. Если его там нет, вы получите аналогичную проблему. так что, пожалуйста, запустите также npm install.


0

Хотя были даны правильные ответы. Но все это у меня не сработало, потому что:

  • У моего имени пользователя не было прав администратора, и я не мог обновить переменную среды, как это было предложено в ответах.

Итак, для всех вас, кто сталкивается с той же проблемой, что и я, вот что я сделал:

Вместо того ng serve

Я скопировал полный путь к местоположению, ngкак показано ниже, и это сработало. Итак, ng serveкоманда стала:

C:\Users\MyUserName\AppData\Roaming\npm\ng.cmd serve


0

Выбранные расширенные системные настройки введите описание изображения здесь. Нажмите «Переменные среды» введите описание изображения здесь. В разделе «Путь » укажите ПЕРВОЕ значение в списке % AppData% \ npm введите описание изображения здесь. Я сделал это. Закройте powershell и снова откройте. все работало

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.