ng: команда не знайдена під час створення нового проекту за допомогою angular-cli


112

Встановлено angular-cli в усьому світі за допомогою ( npm install -g angular-cli), але коли я намагаюся створити проект, використовуючи ng new my-projectйого, це помилка кидання:

ng: команда не знайдена


що відбувається, коли ви вводите ng --help? Це також було розміщено у сховищі кутових кліпів. перевірити це посилання
VirendraJ

Навіть коли я набираю ng --help та сама проблема ng: команда не знайдена, у журналі випуску пропонуються використовувати nvm, але я хотів би використовувати npm. Я спробував виправити шлях, додавши псевдонім у свій .profile, але налаштування проксі вже є, тож як я можу додати новий шлях, використовуючи alias = alias ng = "Користувачі / xxxx / npm / lib / node_modules / angular-cli / bin / нг "
лего

Чи можете ви розмістити свою версію OS, а також свою npm-версію
pd farhad

Використання Mac OS, версія npm - 2.14.20 та версія вузла - 4.4.0
лего

3
Чи можете ви переконатися, що він встановлений через ...npm ls --global --depth 0
Брокко

Відповіді:


154

Питання просте, npmне знає про щоng

Просто запустіть, npm link @angular/cliі це повинно працювати безперешкодно.


4
Чи можете ви пояснити трохи більше про це?
Pardeep Jain

4
@PardeepJain: команда посилання в основному створює глобальне посилання, а потім пов'язує глобальну ціль установки в папку 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.
Крейг

2
Я можу підтвердити, що це рішення працює. Я використовую Windows і можу підтвердити, що це рішення працювало для мене. Але мені довелося зробити щось додатково: запустити це в powerhell: "Set-ExecutionPolicy Unrestricted". Це дозволяє запускати .ps1 (повноваження) файли.
lucamuh

47

По-перше, angular-cliзастарів і замінено на @angular/cli. Отже, якщо ви видалите наявний angular-cli з npm uninstall angular-cli, потім перевстановіть пакет з новим іменем @ angular / cli, у вас можуть виникнути конфлікти. Моя історія в Windows 7:

Я встановив angular-cli і перевстановив за допомогою npm install -g @angular/cli, але після зміни змін конфігурації інструментів командного рядка я почав отримувати команду ng не знайдено проблеми. Я провів кілька годин, намагаючись виправити це, але жоден із перерахованих вище проблем не працював. Мені вдалося виправити це за допомогою наступних кроків:

Встановіть швидкий редактор середовища та видаліть будь-які записи PATH для вузла, npm, angular-cli або @ angular / cli. Node.js буде у вашому системному шляху, npm та кутові записи знаходяться у шляху користувача.

Видаліть node.js та перевстановіть поточну версію (для мене 6.11.1). Запустіть швидкий редактор середовища ще раз і переконайтеся, що 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 folder.

Перезавантажте, потім, нарешті, запустіть:

npm install -g @angular/cli

Потім затримайте дихання і біжіть:

ng -v

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


3
sudo npm install -g @
angular

Вибачте, але це не працює. Я спробував усі команди, наведені вище, і використовував sudo, щоб видавати їх. Я на Mac OS.
піксель

Я дотримувався цього формату, і він відмінно працював для мене без Редактора швидкого оточення. У Windows 10 я вручну оновлював Шляхи в змінних Einvronment. Я не запускав Node або Angular деякий час, оскільки мій останній проект був dotnet core. Тому мені довелося перевстановити останню версію npm і node, а потім скинути свої контури та перезавантажити перед кроком видалення кутового / 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

Це поверне вам шлях клі , який буде виглядати приблизно так

/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

У баш-профілі створіть псевдонім для кліпу, як це,

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мені вистачило. Дякую.
Kunal Dethe

Рада, що допомогло вам :)
Divyanshu Rawat

16

найпростіше рішення ( якщо ви вже встановили кутовий ):

1 видаліть псевдонім ng, якщо він існує

unalias ng

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

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

3 запустіть службу, наприклад, і вона буде працювати.


немає .npm-global каталогу на Mac
піксель

@pixel напевно є npm-глобальний на mac, будь ласка, посилайтесь тут для отримання детальної інформації flaviocopes.com/npm-packages-local-global
Achref Gassoumi

1
@AchrefGassoumi Дякуємо, але після гуглінгу протягом декількох годин жодне місце, яке б запропонувало згладжування місця, не працювало. Єдиним способом вирішити це було використання 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 

Ng-v


З кутовим 7 я гадаю, що це змінилося на $ ng версію
raikumardipak

Хоча це вирішує одну проблему, вона створює іншу. Це завжди буде означати, що ви використовуєте NG з глобального, а ніколи з рівня додатків.
Itanex

Ні, це не так, що тут ми переосмислюємо ключове слово. Немає нічого подібного до рівня додатків. це лише конфігураційний файл для поточного користувача
Gajender Singh

9

У моєму випадку встановіть кутові затискачі

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 на
бродячому


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

Якщо ви встановили кутовий кліп в усьому світі, але ng не працює, просто зробіть це:

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

source ~/.bashrc

ng --version

C: \> echo -e "експортувати PATH = $ (npm префікс -g) / bin: $ PATH" >> ~ / .bashrc Система не може знайти вказаний шлях.
GregJF

Ця команда призначена лише для користувачів Unix / Linux. Якщо ви працюєте в Windows, The Angular CLI слід встановити в режимі адміністратора.
faye.babacar78

4

спробуйте це :

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


3

Переконайтеся, що встановлено кутовий кліп , перш ніж намагатися створити проект. Користувачі 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 завершена, відкрийте панель потужностей і npm install -g angular-cli
  5. Взяти швидку каву
  6. Після завершення інсталяції працювало нормально.

HTH


3

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

Якщо вони належні:

  1. Знайдіть основний глобальний каталог NPM npm root -g(він дасть вам корінь вашого глобального npm-магазину)

  2. Видаліть старі кутові затиски за допомогою npm uninstall -g angular-cli таnpm cache clean

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

  4. зробіть псевдонім імені:

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



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

1

Soluton тільки для операційної системи Windows ....... перший крок:

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

другий крок: налаштування змінної середовища типу: C: \ ProgramFiles \ nodejs

Третій крок: встановити кутовий використовуйте цю команду: npm install -g @ angular / cli

після установки де завгодно вам потрібно створити такий проект, як: новий новий проект ......


1

Для мене (на MacOSX) мені довелося зробити:

nvm install stable
npm install -g angular-cli

Це встановлено у:

/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 команди

використовувати нижче comman для оновлення останніх CLI

npm install -g @angular/cli@latest

0

Це працює для оновлення angular / cli // * Глобального пакету (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, яка використовується

npm -v

або якщо у вас тоді nvm

nvm список

або

струм нвм

Я встановив його на 8.9.1, а потім він знову почав працювати. Я сподіваюся, що це допомагає.


0

Це працювало для мене:

  1. Перейдіть до C: \ Users {{users}} \ AppData \ Роумінг та видаліть папку npm
  2. Видаліть вузол та встановіть його знову
  3. Виконайте команду, щоб встановити кутовий кліп

    npm install -g @angular/cli
    

0

У моєму випадку я просто запустив неправильну версію вузла.

Я тільки що раніше встановив нову версію вузла, щоб пограти з Angular (2). На роботі ми використовуємо 6.x, так що це моє значення за замовчуванням у nvm. Після перезавантаження ноутбук ngперестав працювати просто тому, що я знову запустив вузол 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

Після виконання цих кроків , які ви повинні бути в змозі запустити нг двійковий файл.


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