Вы должны находиться внутри проекта angular-cli, чтобы использовать команду сборки после переустановки angular-cli

117

У меня была глобально установлена ​​последняя версия angular-cli, и мой проект успешно строился.

Читая предлагаемое решение для другой проблемы ( https://github.com/angular/angular-cli/issues/917 ), я удалил глобальный angular-cli и установил его как зависимость от разработчика.

Эта другая проблема не была решена, поэтому я удалил dev-dependency и снова переустановил angular-cli глобально. Теперь, когда я пытаюсь выполнить сборку ng, я получаю сообщение об ошибке:

Вы должны находиться внутри проекта angular-cli, чтобы использовать команду сборки

Моя версия angular-cli не изменилась. Почему мой проект не распознается как проект angular-cli?

мрачный
источник
В моем случае пришлось обновиться @angular/cliс 1.6.7 до 1.6.8
JPNotADragon

Ответы:

181

То же, что и ответ Джона Панковича, но в моем случае мне пришлось бежать

npm install -g @angular/cli@latest

для соответствия версий.

Освальдо Салазар
источник
6
Оказывается, «@ angular / cli» - это более новая версия «angular-cli». Последний глобально установлен в моей системе, а первый указан в package.json. После замены пакета все заработало.
simonxy
Для меня проблема была решена только с помощью команды npm install -g @ angular / cli.
ДИЛИП КОСУРИ
Да, это сработало!
Навид Ахир
Это сработало и для меня. Для проекта, который мне дали, было важно иметь соответствующие версии
Кинан Пейн
Я был в папке WebAPI, поэтому мне пришлось переключиться в папку Angular CLI :)
Варун Магго
53

Хорошо, нашел.

package.json должен содержать зависимость от angular-cli .

Когда я удалил свой локальный angular-cli, npm также удалил запись о зависимости.

мрачный
источник
7
не могли бы вы более подробно объяснить эту часть о зависимости?
BJAA
Удаление angular-cli как зависимости dev, то есть [npm uninstall --save-dev angular-cli] удалило запись из пакетов. Json "devDependencies": {"@ angular / cli": "^ 1.0.0", " ... "} и поэтому вам нужно убедиться, что эта запись доступна в разделе" devDependencies "или даже в" dependencies ", если это необходимо
jabu.hlong
Так что ты сделал? что именно вы удалили? -g или --save?
Джанатбек Шаршеев
52
npm uninstall -g angular-cli @angular/cli
npm cache clean
npm install -g @angular/cli

используйте sudo на Mac / Linux.

Винаяка
источник
npm ERR! Начиная с npm @ 5, кеш npm самовосстанавливается от проблем с повреждением, и данные, извлеченные из кеша, гарантированно являются действительными. Если вы хотите убедиться, что все согласовано, используйте вместо этого npm cache verify.
obeliksz
Если вы столкнулись с этой проблемой: не удалось найти модуль "@ angular-devkit / build-angular" из .... Затем, возможно, также будет полезно запустить: npm install --save-dev @ angular-devkit / build- angular
Марио
для 2-го шага используйте --force egnpm cache clean --force
Усман Салех
Это единственное, что у меня сработало. Спасибо!
Эндрю Джуниор Ховард,
24

У меня было такое же сообщение об ошибке. Но причина и решение немного разные. Когда я запустил «ng -v», он показал разные версии для angular-cli (1.0.0-beta.28.3) и @ angular / cli (1.0.0-beta.31). Я повторно пробежал:

npm install -g @angular/cli

Теперь оба показывают версию 1.0.0-beta.31. Сообщение об ошибке исчезло, и "ng serve" теперь работает. (Да, я переустановил @ angular / cli и обновил версию angular-cli.)

Джон Панкович
источник
Обратите внимание, что обновление angular-cli занимает очень много времени, даже час. В середине срочной задачи это может обречь ваш проект на гибель.
Тамаш Полгар
Для меня я пробовал npm install -g angular-cli, который теперь устарел. Мне пришлось npm install -g @ angular / cli
Робби Смит
24

Это сработало в моем случае

sudo npm uninstall -g angular-cli @angular/cli
sudo npm cache clean --force
npm install npm@latest -g
sudo npm install -g @angular/cli
Скромный урод
источник
2
npm install npm@latest -gможет и не понадобиться
Девин
15

использование npm install angular-cli --save-dev

Педро Энрике
источник
6
PS Теперь это устарело ... angular-cli официально переехал в@angular/cli
shramee
Даже если он устарел, моя проблема была исправлена. Ура, дружище.
Габриэль Муньумель 01
14

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

sudo npm uninstall -g angular-cli @angular/cli

sudo npm cache clean

npm install npm@latest -g

sudo npm install -g @angular/cli

npm rebuild node-sass --force
Митеш Панчал
источник
8

Вот что мне помогло, когда я оказался в той же проблеме:

npm uninstall -g angular-cli @angular/cli
npm cache clean --force
npm install -g @angular/cli@latest
Devman
источник
5
npm uninstall -g angular-cli
npm uninstall --save angular-cli
npm uninstall -g @angular/cli
npm uninstall --save @angular/cli
npm cache clean
npm install --save-dev @angular/cli@latest
jhoanna
источник
5

В моем случае (Mac OS X и ранее использовавшаяся среда Angular 1.5)

npm -g cache clean --force

npm cache clean --force

работал. ( npm install -g @angular/cli@latestпотом)

Алексей Невидомский
источник
5

У npm install -g @angular/cli@latestменя работает.

UmaShankar
источник
2

Эта ошибка возникает, когда существует несовместимость между версией узла и версией angular / cli. поэтому используйте команду ниже, чтобы обновить версию cli до последней

npm install -g @ angular / cli @ latest

Сунали Бандара
источник
2
npm uninstall -g angular-cli @angular/cli

npm cache clean --force

npm install -g @angular-cli/latest

Я пробовал аналогичные команды и работал у меня, но убедитесь, что вы используете их из командной строки с правами администратора.

Онкар Нирхали
источник
1

У меня была такая же проблема - оказалось, что я использовал устаревший angular-cli вместо @ angular / cli. Последняя использовалась моей командой разработчиков, и мне потребовалось некоторое время, чтобы заметить, что мы используем разные версии angular-cli.

Mac Keicam
источник
1

Я столкнулся с той же проблемой при запуске своего проекта: я обнаружил, что если ваш проект использует определенную версию чего-либо в package.json, узнайте это и установите конкретную версию этих зависимостей, как и для меня, npm install @ angular / cli @ ^ 4.0.0 .

Рутвик Джоши
источник
0

Не забывайте использовать --force:

npm cache clean --force
Диего Венансио
источник
0

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

  1. Сначала запустите командную строку от имени администратора.

  2. Создайте новый проект.

Если он по- прежнему не создает проект, удалить папку и все эти файлы, а затем запустить ng new <project name>затем ng serve.

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

Аеша Султана
источник
0

Просто включите это в package.json в разделе devDependencies

"angular-cli": "1.0.0-beta.25.5"

Не обязательно устанавливать его, если у вас глобально установлена ​​другая версия cli.

У меня возникла эта проблема, когда я работал с angular2 и 4 одновременно с другим проектом. Итак, angular4 - нужен angular-cli @ latest, а angular2 нужен angular-cli - версия выше.

Санджай Кумар NS
источник
0
npm uninstall -g angular-cli 

npm install -g @angular/cli

Это оно!

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

Бхавья Шах
источник
1
Добро пожаловать в Stack Overflow! Пожалуйста, добавляйте код и данные как текст ( используя форматирование кода ), а не изображения. Изображения: A) не позволяйте нам копировать - и - вставлять код / ​​ошибки / данные для тестирования; Б) не разрешать поиск по коду / ошибке / содержанию данных; и многие другие причины . В общем код / ​​ошибки / данные в текстовом формате >>>> код / ​​ошибки / данные как изображение >> ничего. Изображения следует использовать в дополнение к тексту в формате кода, только если наличие изображения добавляет что-то существенное, что не передается только текстовым кодом / ошибкой / данными.
двойной звуковой сигнал
Спасибо, что приняли меня. Я позабочусь об этом в следующий раз.
Бхавья Шах
0

Возможно, проблема в вашей версии.

npm install -g @angular/cli@latest

Вышеупомянутый запуск сработал для меня. Спасибо!

Джая Сандип
источник