Ошибка: локальный файл рабочей области ('angular.json') не найден

189

Я travis-ciинтегрировался с моей учетной записью GitHub ( https://github.com/pradeep0601/Angular5-Router-App ).

Когда я обновил @angular/cliверсию с 1.7.4 до 6.0.0-rc.3, сборка начала давать сбой с ошибкой:

Local workspace file ('angular.json') could not be found.
Error: Local workspace file ('angular.json') could not be found.
    at WorkspaceLoader._getProjectWorkspaceFilePath (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:37:19)
    at WorkspaceLoader.loadWorkspace (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:24:21)
    at TestCommand._loadWorkspaceAndArchitect (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:177:32)
    at TestCommand.<anonymous> (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:45:25)
    at Generator.next (<anonymous>)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:3:12)
    at TestCommand.initialize (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:44:16)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/command-runner.js:100:23

Фрагмент package.json для лучшего понимания рабочей среды:

    "@angular/cli": "6.0.0-rc.3",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
Прадип
источник
Я столкнулся с той же проблемой, и это было глупо, это происходит при использовании терминала из кода Visual Studio и работает при переключении на Windows по умолчанию Cli!
Жиль Кагарама

Ответы:

319

У меня просто была такая же проблема.

Это связано с выпуском v6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

Новый формат конфигурации. Новый файл можно найти по адресу angular.json (но также может быть принят файл .angular.json). Запуск ng update для проекта CLI 1.7 переместит вас в новую конфигурацию.

Мне нужно было выполнить:

ng update @angular/cli --migrate-only --from=1.7.4

Это снято .angular-cli.jsonи создано angular.json.

Если это приводит к тому, что ваш проект использует 1.7.4, установите v6 локально:

npm install --save-dev @angular/cli@v6.0.0-rc.4

И попробуйте еще раз обновить ваш проект:

ng update @angular/cli --migrate-only --from=1.7.4
Ленни
источник
4
работает ng update @angular/cli --migrate-only --from=1.7.4результаты ошибок: Collection "@schematics/angular/migrations/migration-collection.json" cannot be resolved.. какой-нибудь способ это исправить?
GO VEGAN
1
Я также получаю `Неизвестный вариант: '--extractCss'`
Мохаммед Баракат
8
Убедитесь, что ваши версии npm и nodejs актуальны, иначе вы, скорее всего, получите ошибку. ng update @angular/cliэто все что нужно.
rtaft
1
@ user1932595 Мне пришлось обновить @schematics/angularдо последней версии, чтобы обойти эту ошибку.
bygrace
2
Короткая заметка выше. Удаление .angula-cli.json для меня не происходило до второго запуска команды ng update.
Агги Джон 87
78

Я получаю те же сообщения об ошибках. Это была глупая ошибка с моей стороны, я не работал ng serveв каталоге, где находится мой Angular проект. Убедитесь, что вы находитесь в правильном каталоге (каталоге проекта) перед выполнением этой команды.

DRG
источник
3
о, это безумие :)) спасибо, что спасло много сложных проблем для меня тоже! иногда решения действительно просты
мсанджай
делал ту же ошибку
Файзан Мубашер
Я сделал то же самое. Вы создаете каталог для обслуживания вашего проекта, и он создает другой каталог внутри этого каталога (пощечина)
Джонатан
т. е. нг новое my-app, cd my-app (я видел этот комментарий ранее, но предполагал, что это означает первый уровень)
Тони
делал ту же ошибку, что вы спасли мой день, спасибо
Ахмед ЭльШеми
36

С последней версией без --migrate-onlyменя обновился репо.

Я сделал нг обновление

Формат конфигурации Angular CLI был изменен, и ваша существующая конфигурация может быть автоматически обновлена ​​с помощью следующей команды:

ng update @angular/cli
            Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any npm scripts which you may have modified.
DELETE .angular-cli.json
CREATE angular.json (3684 bytes)
UPDATE karma.conf.js (1040 bytes)
UPDATE src/tsconfig.spec.json (322 bytes)
UPDATE package.json (1340 bytes)
UPDATE tslint.json (3140 bytes)
Sundara
источник
Я получаюIncompatible peer dependencies found. See above.
Саймон Баарс
Произошла непредвиденная ошибка; Пакет @ angular / flex-layout не имеет версии null.
Prageeth Godage
20

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

Ранее я использовал 1.7.4 и только сейчас обновил его до angular cli 6.0.8.

Чтобы обновить Angular Cli global:

npm uninstall -g angular-cli
npm cache clean 
npm install -g @angular/cli@latest

Чтобы обновить Angular Cli dev:

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install

Чтобы исправить проблемы аудита после установки npm:

npm audit fix

Чтобы исправить проблему, связанную с «angular.json»:

ng update @angular/cli --migrate-only --from=1.7.4
Викаш Пандей
источник
17

Удалите старую версию Angular cli и установите Angular CLI global:

Обновите глобальный пакет Angular cli до следующей версии, "@ angular / compiler-cli": "^ 6.0.0"

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@next

Создайте новый проект и приложение по умолчанию, выполнив следующую команду:

ng new my-project
cd my-project
ng serve
Санджай Кумар
источник
7
не используйте cli @ next, используйте cli @ latest, иначе вы получите бета-версии.
Переключатель
9

Попробуйте использовать следующую команду:

ng update @angular/cli --migrate-only --from=1.7.4

Это будет выполнять ниже

  • Обновление конфигурации кармы

  • Обновление конфигурации

  • Удаление старого файла конфигурации (.angular-cli.json)

  • Написание конфигурационного файла (angular.json)

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

TechSingh
источник
Я запускал команду несколько раз, и файл angular.json никогда не появляется. Однако, если я удалю файл angular-cli.json, запустите команду, файл angular-cli.json будет добавлен обратно. что мне здесь не хватает?
jgritten
8

Если вы не знаете версию, текущий проект выполнен, вы можете пропустить --fromкоманду и набрать--migrate-only

ng update @ angular / cli - только для миграции

Vipin CP
источник
7

Если все виды обновления коммандос не будут делать это. Попробуйте удалить package-lock.json . А затем запустите npm install . Сделал трюк для меня после прохождения тонны обновления коммандос.

Денис Гадомски
источник
Есть ли причина не использовать этот подход по умолчанию (сбросить папку node_modules и package-lock.json), а просто запустить npm install?
Уоллес Ховери
4

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

Удалить папку node_modules

Команда выполнения: npm install

(Если это не работает в первый раз, повторите это 2 или 3 раза, это забавно, но это работает для меня.)

Шубхам Верма
источник
4
Почему повторение этого процесса будет иметь другой эффект, чем в первый раз?
Санки
3

Проверьте структуру папок, в которой вы выполняете команду, вы должны выполнить команду 'ng serve' там, где должен быть файл angular.json в структуре.

Файл angular.json будет сгенерирован по умолчанию при запуске команды

npm install -g '@ angular / cli' ng new Project_name, затем cd project_folder, затем запустить ng serve. это сработало для меня

Виная Редди
источник
3

Просто беги ng update @angular/cli в своей консоли. Вы можете найти некоторые уязвимости после запуска команды (если используете npm), но затем просто запустите ихnpm audit fix в консоли, чтобы исправить их. Эта команда просканирует проект на наличие уязвимостей и исправит проблемы совместимости, установив обновления для этих зависимостей. Если вы не хотите автоматического исправления этих уязвимостей сразу, вы можете выполнить Пробное: от работы npm audit fix --dry-run -json в консоли. Это даст вам представление о том, что npm audit fixбудет делать команда , в виде json в консоли.

EZCity
источник
3

У меня была та же проблема, и то, что я сделал, работает для меня:

  1. Внутри файла package.json обновите версию Angular CLI до желаемой:

    "devDependencies": { ...
      "@angular/cli": "^6.0.8",
      ...
    }
    
  2. Удалите node_modulesпапку, чтобы очистить проект перед обновлением зависимостей:

    npm install
    
    ng update @angular/cli
    
  3. Попробуйте снова построить мой проект (последняя и удачная попытка)

    ng build --prod
    
Хуан Монсальве
источник
2

Для меня то , что работал создавал новый Угловой проект и просто скопировал файл angular.json в проекте , который имел проблемы из - за того , что файл angular.json был отсутствующим .

Devman
источник
1

Для меня проблема была в том, что глобальная версия @ angular / cli и @ angular / compiler-cli были разными. Посмотрите на package.json .

...
"@angular/cli": "6.0.0-rc.3",
"@angular/compiler-cli": "^5.2.0",
...

И если они не совпадают, обновите или понизьте один из них.

Филип Молчик
источник
1

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

ng update @ angular / cli - только для миграции --from = 1.6.4

Это просто удалить angular-cli.jsonи создать angular.json. Вы можете найти это в журналах.

Как только вы начнете казнь. Вы сможете увидеть ниже журналы в вашем терминале.

        Updating karma configuration
        Updating configuration
        Removing old config file (.angular-cli.json)
        Writing config file (angular.json)
        Some configuration options have been changed, please make sure to update any                                     
        npm scripts which you may have modified.
        DELETE .angular-cli.json
        CREATE angular.json (3599 bytes)
        UPDATE karma.conf.js (962 bytes)
        UPDATE src/tsconfig.spec.json (324 bytes)
        UPDATE package.json (1405 bytes)
        UPDATE tsconfig.json (407 bytes)
        UPDATE tslint.json (3026 bytes)
Амбудж Ханна
источник
0

Перейдите по этой ссылке, чтобы перейти с Angular 5.2 на 6. https://update.angular.io/

У меня работало обновление до версии 8.9. введите описание изображения здесь

рага
источник
0

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

Niek
источник
0

У меня было это сообщение об ошибке внутри контейнера докера. Я решил это добавив:

WORKDIR /usr/src

в Dockerfile.

Nae
источник
0

У меня была такая же проблема, и я обнаружил, что в моем проекте нет package.json (а только package-lock.json). Затем я

  1. восстановил package.json из системы контроля версий
  2. удалил глобальную и локальную версии angular-cli (как сказано в инструкции)
  3. следовал стандартной процедуре обновления

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

Стефан де Гроот
источник
0
~/Desktop $ ng serve

Локальный файл рабочей области ('angular.json') не найден.

Ошибка: локальный файл рабочей области ('angular.json') не найден.

at WorkspaceLoader._getProjectWorkspaceFilePath (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:37:19)
at WorkspaceLoader.loadWorkspace (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:24:21)
at ServeCommand._loadWorkspaceAndArchitect (/usr/lib/node_modules/@angular/cli/models/architect-command.js:180:32)
at ServeCommand.<anonymous> (/usr/lib/node_modules/@angular/cli/models/architect-command.js:47:25)
at Generator.next (<anonymous>)
at /usr/lib/node_modules/@angular/cli/models/architect-command.js:7:71
at new Promise (<anonymous>)
at __awaiter (/usr/lib/node_modules/@angular/cli/models/architect-command.js:3:12)
at ServeCommand.initialize (/usr/lib/node_modules/@angular/cli/models/architect-command.js:46:16)
at Object.<anonymous> (/usr/lib/node_modules/@angular/cli/models/command-runner.js:87:23)

Это потому, что я не выбрал каталог проекта Angular.

Это должно быть как:

~ / Рабочий стол / angularproject $ ng serve

Ману РС
источник
0

Я пытался настроить приложение Ionic 4 для работы в качестве pwa. Когда я запускаю команду:

ng add @angular/pwa

... получил сообщение об ошибке. После некоторых попыток и ошибок я обнаружил, что когда мой проект был создан, команда запуска была неправильной. Я использовал версию Ionic 3:

ionic start myApp tabs --type=ionic-angular

И правильно это:

ionic start myApp tabs --type=angular

без «ионного» типа. Это решило ошибку.

Nowdeen
источник
0

Просто проверьте ваш каталог, вы должны запустить «ng serve» в том же каталоге, где вы создали проект.

Итак, сначала войдите в каталог вашего проекта.

сативан кумар
источник
0

Для людей, которые просто клонировали проект и пытаются его запустить, вам нужно запустить его в npm installпервую очередь. Я полностью забыл запустить это и просто работал ng serveдо установки узловых модулей.

Сагар Хатри
источник