ng: команда не найдена при создании нового проекта с использованием angular-cli

112

Установлен angular-cli глобально с помощью ( npm install -g angular-cli), но когда я пытаюсь создать проект, используя ng new my-projectего, выдает ошибку:

нг: команда не найдена

Лего
источник
что происходит, когда вы набираете ng --help? Это также было размещено в репозитории angular cli. проверьте эту ссылку
VirendraJ
Даже когда я набираю ng --help, та же проблема ng: command not found, в журнале проблем предлагается использовать nvm, но я хотел бы использовать npm. Я попытался исправить путь, добавив псевдоним в свой .profile, но настройки прокси уже там, так как я могу добавить новый путь, используя alias = alias ng = "Users / xxxx / npm / lib / node_modules / angular-cli / bin / ng "
lego
Можете ли вы опубликовать свою версию
ОС,
Используется Mac os, версия npm - 2.14.20 и версия узла - 4.4.0
lego
3
Можете ли вы проверить, что он установлен через ...npm ls --global --depth 0
Brocco

Ответы:

155

Вопрос простой, npmне знает оng

Просто запустите, npm link @angular/cliи все должно работать без сбоев.

abhinavroy23
источник
4
Не могли бы вы объяснить это поподробнее?
Pardeep Jain
4
Команда @PardeepJain: link в основном создает глобальную ссылку, а затем связывает глобальную цель установки с папкой node_modules вашего проекта.
abhinavroy23
2
Не работает извините. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) Это сработало.
saran3h
2
Это сработало. Просто пришлось бежать sudo. sudo npm link @angular/cli.
Craig
3
Я могу подтвердить, что это решение работает. Я использую Windows и могу подтвердить, что это решение мне помогло. Но мне пришлось сделать кое-что дополнительно: запустить это в PowerShell: «Set-ExecutionPolicy Unrestricted». Это позволяет запускать файлы .ps1 (powershell).
lucamuh
47

Во-первых, angular-cliон устарел и был заменен на @angular/cli. Поэтому, если вы удалите существующий angular-cli с помощью npm uninstall angular-cli, а затем переустановите пакет с новым именем @ angular / cli, вы можете получить некоторые конфликты. Моя история о Windows 7:

Я установил angular-cli и переустановил using npm install -g @angular/cli, но после внесения некоторых изменений конфигурации в инструменты командной строки я начал получать команду ng command not found. Я потратил несколько часов, пытаясь исправить это, но ни одна из перечисленных выше проблем не помогла. Я смог исправить это, выполнив следующие действия:

Установите Rapid Environment Editor и удалите все записи PATH для node, npm, angular-cli или @ angular / cli. Node.js будет в вашем системном пути, записи npm и angular будут в пути пользователя.

Удалите node.js и переустановите текущую версию (для меня 6.11.1). Снова запустите Rapid Environment Editor и убедитесь, что node.js и npm находятся в вашем системном или пользовательском пути. Удалите все существующие версии ng с помощью:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Удалите папку C: \ Users \% YOU% \ AppData \ Roaming \ npm \ node_modules \ @angular .

Перезагрузитесь, затем, наконец, запустите:

npm install -g @angular/cli

Затем задержите дыхание и бегите:

ng -v

Если вам повезет, вы получите немного любви. Впредь задерживайте дыхание каждый раз, когда вы запускаете команду ng, потому что «команда не найдена» волшебным образом появлялась у меня несколько раз после того, как ng работал нормально, и я думал, что проблема решена.

ВанАльберт
источник
3
sudo npm install -g @ angular / cli
Mohammad Suhel Shaikh
Извините, но это не работает. Я пробовал все приведенные выше команды и использовал sudo для их выполнения. Я использую Mac OS.
пиксель
Я следовал этому формату, и он отлично работал у меня без редактора Rapid Environment Editor. В Windows 10 я вручную обновил пути в переменных Einvronment. Я давно не запускал Node или Angular, поскольку моим последним проектом было ядро ​​dotnet. Поэтому мне пришлось переустановить последнюю версию как npm, так и узла, затем сбросить мои пути и перезагрузиться перед этапом удаления angular / cli.
Вик
21

Убедитесь, что каталог npm находится в вашей переменной « Путь ».

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

Для системной переменной Win добавьте что-то вроде:

%USERPROFILE%\AppData\Roaming\npm

А если вы используете unix-подобный терминал (эмулятор):

PATH=$PATH:[path_to_your_user_profile]/path-to-npm
фума
источник
2
Если вы работаете над несколькими проектами, используя разные версии CLI (так что всегда запускать одну глобальную версию не вариант), попробуйте export PATH=$PATH:node_modules/@angular/cli/bin/ng- он выберет локальную версию, если вы запустите ngкоманду в корневом каталоге вашего Angular (суб) проект.
Джанака Бандара
@JanakaBandara, как мне добавить эту команду экспорта в Win10? Можно ли добавить его в .bash_profile?
Диего Ортис,
1
Да, я обычно добавляю это к.bashrc
Джанака Бандара
17

Вот так у меня получилось :).

1 - npm link @angular/cli

Он вернет вам путь cli , который будет выглядеть так

/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli

Для этой части /11.3.0_1замените ее соответствующей версией узла, которую можно найти, набравnode --version

2 - cd ~/

3 - open .bash_profile

В профиле bash создайте псевдоним для cli, подобный этому,

alias ng="/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli/bin/ng"

4 - source ~/.bash_profile

Вот как ваш .bash_profileбудет выглядеть после того, как вы добавите к нему псевдоним .

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

Теперь при вводе ngв терминал будет отображаться вывод, показанный в прикрепленном снимке.

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

Надеюсь, этот ответ будет вам полезен.

Дивяншу Рават
источник
1
Просто npm link @angular/cliбыло достаточно для меня. Спасибо.
Кунал Детхе
Рад, что вам помогли :)
Дивяншу Рават
16

Самое простое решение ( если вы уже установили angular ):

1 удалите псевдоним ng, если он существует

unalias ng

2 добавьте правильный псевдоним

alias ng="/Users/<user_name>/.npm-global/bin/ng"

Например, 3 запустите ng serve, и он будет работать.

Ахреф Гассуми
источник
на Mac нет каталога .npm-global
pixel
@pixel наверняка есть npm-global на Mac, пожалуйста, обратитесь сюда для получения дополнительной информации flaviocopes.com/npm-packages-local-global
Ахреф Гассуми
1
@AchrefGassoumi Спасибо, но после нескольких часов поиска в Google ни одно местоположение, предлагающее псевдоним местоположения, не сработало. Единственный способ решить эту проблему - использовать nvm, как я объяснил в своем ответе на этот вопрос stackoverflow.com/questions/58138138/…
пиксель
14

Для Mac запустить

npm install -g @angular/cli@latest

затем беги

alias ng="/usr/local/lib/node_modules/node/lib/node_modules/@angular/cli/bin/ng"

Проверить, работает ли

ng version
Франческо
источник
Мне пришлось использовать следующую команду псевдонима: - alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng"
cammando
11

Выполните следующие команды:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

npm install -g @angular/cli@latest

alias ng="C:/Users/itaas/.npm-global/ng" (Расположение файла ng в папке npm)

И наконец запускаем:

ng -v 

Нг-в

Гаджендер Сингх
источник
С angular 7, я думаю, это изменилось на версию $ ng
raikumardipak
Это решает одну проблему, но создает другую. Это всегда будет означать, что вы запускаете NG из глобального, а не из уровня приложения.
Itanex
Нет, здесь мы переопределяем ключевое слово ng. Нет ничего лучше уровня приложения. это просто файл конфигурации для текущего пользователя
Гаджендер Сингх
9

В моем случае устанавливаем angular cli

npm install -g @angular/cli@latest

обновите Nodejs до последней версии , тогда все должно работать нормально.

... и если у вас все еще есть эта проблема, возможно, потому, что вы запускаете команду в оболочке, а не в cmd (вам нужно запустить команду в cmd), проверьте это, и, возможно, это поможет ...

Али Джамал
источник
8

Я решил ту же проблему, добавив псевдоним, например:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"
м.земляной
источник
У меня это сработало, но каждый раз, когда я входил в систему, мне приходилось это делать, поэтому я добавил его в свой файл .bashrc следующим образом: "nano ~ / .bashrc", а затем добавил туда следующую строку: alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng «Я использую ubuntu 14.04 на бродяге
Сабих Чаудхри, 02
5

Для пользователей Mac:

1) Установите @ angular / cli глобально

$ sudo npm install -g @angular/cli
/usr/local/Cellar/node/10.0.0/bin/ng -> /usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng

2) Создайте псевдоним для ng

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

Готово

Роман Махоцкий
источник
5

Если вы установили angular cli глобально, но ng не работает, просто сделайте следующее:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc

source ~/.bashrc

ng --version
faye.babacar78
источник
C: \> echo -e "export PATH = $ (префикс npm -g) / bin: $ PATH" >> ~ / .bashrc Система не может найти указанный путь.
GregJF
Эта команда предназначена только для пользователей Unix / Linux. Если вы используете Windows, Angular CLI следует установить в режиме администратора.
faye.babacar78
4

попробуй это :

псевдоним ng = "~ / node_modules / @ angular / cli / bin / ng"

Али
источник
3

Убедитесь, что angular-cli установлен, прежде чем пытаться создать проект. Пользователи Windows могут установить angular-cli без разрешения команды, но пользователи MAC должны использовать sudo перед выполнением команды, как показано ниже:

sudo npm install -g angular-cli

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

Майхан Ниджат
источник
3

Та же проблема здесь с Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9 .
После установки Angular CLI через npm:

Команда 'ng' не может быть найдена

Сделайте следующее:

  1. Удален npm с npm uninstall -g npm
  2. Удален NodeJS через панель управления / программы и функции
  3. Загрузил и запустил «старый» установщик NodeJS версии 6.5.0 с https://nodejs.org/download/release/v6.5.0/ ( node-v6.5.0-x64.msi ).
  4. После завершения установки NodeJS 6.5.0 откройте powershell и npm install -g angular-cli
  5. Возьми быстрый кофе
  6. После завершения установки ng работал нормально.

HTH

Мэтт Кейн
источник
3

Прежде всего, проверьте правильность установки вашего npm и узла
с помощью команд npm versionи node -v.

Если они правильные:

  1. Найдите корневой глобальный каталог NPM npm root -g(он даст вам корень вашего глобального хранилища npm)

  2. Удалите старый angular cli с помощью npm uninstall -g angular-cli иnpm cache clean

  3. Переустановите новую версию angular npm install -g @angular/cli@latest

  4. сделайте псевдоним Name ng:

alias ng="C:/ProgramData/npm/node_modules/@angular/cli/bin/ng"

alias ng="<ath-to-your-global-node-modules>/<angular cli path till ng>"
(от ответил 20 окт.'16 в 15:30 @ m.zemlyanoi)

затем, чтобы проверить, вы можете ввести ng -v

Mayank Parihar
источник
2

если вы обнаружите эту ошибку при установке angular-cli, -bash: ng: command not foundпопробуйте, она работает,

После удаления Node из вашей системы

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli
Рагху Нандан
источник
2

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

npm install -g @angular/cli
nPcomp
источник
1

soluton только для операционной системы Windows ....... первый шаг:

установить версию nodejs: nodev 8.1.2

второй шаг: настройте переменную среды, например: C: \ ProgramFiles \ nodejs

Третий шаг: установите angular, используйте эту команду: npm install -g @ angular / cli

после установки, где бы вы ни создавали проект, например: ng new first-project ......

раджа маниккам
источник
1

Для меня (на MacOSX) мне пришлось сделать:

nvm install stable
npm install -g angular-cli

Это установило ng в:

/usr/local/lib/node_modules/@angular/cli/bin/ng

Но npm не поместил ссылку на ng в

/usr/local/bin/

Вот почему он не был частью% PATH и, следовательно, доступен из командной строки, кроме как через абсолютный адрес.

Итак, я использовал следующее, чтобы создать ссылку на ng:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng
Джастин Кук
источник
1

Бег

export PATH=$PATH:/c/Users/myusername/AppData/Roaming/npm 

помогло.

Убедитесь, что ваше настоящее имя пользователя находится в разделе myusername

Фей Агапе
источник
Кто-нибудь вручит этому человеку медаль. Работает любит шарм.
Прамеш Баджрачарья,
0

Если вы работаете в Windows 7 и не можете запустить команду с помощью ng

пожалуйста, обновите angular / CLI сразу и попробуйте использовать команды ng

используйте команду ниже для обновления последней версии CLI

npm install -g @angular/cli@latest
Хардик Леува
источник
0

Это работает для обновления вашего angular / cli // * Global пакета (cmd как администратор)

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
альвик
источник
0

Сначала установите @ angular / cli, используя npm как глобальный модуль

sudo npm install -g @angular/cli

После этого попробуйте пропинговать клиентский компьютер с помощью команды ng из окна терминала.

Команда 'ng' не найдена

Затем вам нужно вручную настроить

нг

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

ln -s path-to-your-ng-command /bin

например:

sudo ln -s / opt / node / lib / node_modules / @ angular / cli / bin / ng / bin /

Трилок Кумар Паллаки
источник
0

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

npm -v

или если у вас есть nvm, тогда

список nvm

или

nvm ток

Я установил его на 8.9.1, и затем он снова начал работать. Я надеюсь, что это помогает.

Рахул
источник
0

Это сработало для меня:

  1. Перейдите в C: \ Users {{users}} \ AppData \ Roaming и удалите папку npm.
  2. Удалите узел и установите его снова
  3. Выполните команду для установки angular cli

    npm install -g @angular/cli
    
PrJ
источник
0

В моем случае я просто использовал неправильную версию узла.

Я только что ранее установил новую версию узла, чтобы поиграть с Angular (2). На работе мы используем 6.x, так что это мой вариант по умолчанию в nvm. После перезагрузки ноутбук ngперестал работать просто потому, что я снова запускал node 6.x. Так что для меня это просто вопрос использования версии, с которой я устанавливал Angular CLI:

nvm use node // with the node alias pointing to the right version

или

nvm use v8.11.3 // if you happen to know the version

Проверьте установленные версии и псевдонимы с помощью

nvm list 
кувырок
источник
0

Если у вас компьютер MacOS (у меня MOJAVE 10.14.2), просто добавьте эти строки в конец вашего файла ~ / .bash_profile :

export ANGULAR=~/.nvm/versions/node/v10.8.0/bin/ng
export PATH=$ANGULAR:$PATH

Обратите внимание, что v10.8.0 - это версия установленного мной Node.js. Чтобы узнать, какая версия ваша, запустите:

node --version

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

cd ~
source .bash_profile

После выполнения этих шагов вы сможете запустить свой двоичный файл ng .

Марсело Гумьеро
источник
0

Восстановление установки NodeJS в Windows решило это для меня.

Взгляд
источник