Помилка: файл локальної робочої області ('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

Фрагмент пакета.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",

Я зіткнувся з тією ж проблемою, і це було нерозумно, це відбувається при використанні терміналу з коду візуальної студії і працює при переході на кліп Windows за замовчуванням!
Жиль Кагарама

Відповіді:


319

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

Це пов'язано з випуском v6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

Новий формат конфігурації. Новий файл можна знайти на angular.json (але також прийнятий .angular.json). Запуск оновлення для проекту 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.. будь-який спосіб це виправити?
Ідіть ВЕГАН

1
Я також отримую `Невідомий варіант: '--extractCss'`
Мохаммед Баракат

8
Переконайтеся, що ваші версії npm та nodejs оновлені, інакше ви, ймовірно, отримаєте збій. ng update @angular/cliце все, що потрібно.
rtaft

1
@ user1932595 Мені довелося перейти @schematics/angularна останню версію, щоб подолати цю помилку.
bygrace

2
Коротка примітка зверху. Видалення .angula-cli.json не відбулося для мене до другого запуску команди оновлення.
Аггі Йон від 87

78

Я отримував ті ж повідомлення про помилки. Це було дурною помилкою в моєму кінці, я не бігав ng serveу каталог, де знаходиться мій проект Angular. Перш ніж запустити цю команду, переконайтеся, що ви знаходитесь у правильному каталозі (каталозі проекту).


3
о, це божевільно :)) спасибі, що врятувало багато складних проблем із вирішенням і для мене! Іноді рішення дійсно прості
msanjay

робив ту саму помилку
Faizan Mubasher

Я робив те саме. Ви створюєте каталог, який обслуговуватиме ваш проект, і він створює інший каталог всередині цього каталогу (ляпайте себе)
Джонатан

тобто нове моє додаток, cd my-app (я бачив цей коментар раніше, але припускав, що він означає верхній рівень)
tony

робив ту саму помилку, яку ви врятували мені, Дякую
Ахмед ЕльШемі

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)

Я отримуюIncompatible peer dependencies found. See above.
Саймон Баарс

Сталася несподівана помилка; Пакет @ angular / flex-layout не має версії null.
Прагетський бог

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:

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.


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

8

Якщо ви не знаєте версії, зроблено поточний проект, ви можете опустити --fromкоманду та ввести--migrate-only

оновлення @ angular / cli - лише для міграції


7

Якщо всілякі оновлення командос не робитимуть цього. Спробуйте видалити package-lock.json . А потім запустіть npm install . Зробив трюк для мене після перегляду тонн оновлення командос.


Будь-яка причина не сприймати цей підхід за замовчуванням (випадання папки node_modules та package-lock.json) та просто запуску npm install?
Wallace Howery

4

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

Видалити папку node_modules

Виконати команду: npm install

(Якщо це не працює вперше, повторіть це 2 або 3 рази. Це смішно, але це працює для мене.)


4
Чому повторення цього процесу матиме інший ефект, ніж перший раз?
Санки

3

Перевірте структуру вашої папки, де ви виконуєте команду, слід запустити команду 'ng serve', де у структурі повинен бути файл angular.json.

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

npm install -g '@ angular / cli' ng нове ім'я проекту, потім cd project_folder, потім запустіть ng serve. це працювало для мене


3

Просто запустіть ng update @angular/cli у своїй консолі. Ви можете виявити деякі вразливості після запуску команди (якщо використовується npm), але потім просто запустітьnpm audit fix у консолі, щоб виправити їх. Ця команда буде сканувати проект на наявність вразливості, а також виправить проблеми сумісності, встановивши оновлення до цих залежностей. Якщо ви не хочете автоматичного виправлення цих вразливостей відразу, ви можете виконати Пробне: від роботи npm audit fix --dry-run -json в консолі. Це дасть вам уявлення про те, що npm audit fixбуде виконувати команда у вигляді json в консолі.


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 і просто скопіював файл angular.json у проект, у якого виникли проблеми через те, що файл angular.json відсутній .


1

Для мене проблема полягала в тому, що версія глобальної @ angular / cli і @ angular / compiler-cli були різними. Загляньте в package.json .

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

І якщо вони не відповідають, оновіть або поновіть одну з них.


1

Я також зіткнувся з тією ж проблемою, і я щойно виконував команду нижче.

оновлення @ angular / cli - лише для переміщення - від = 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

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


0

У мене було повідомлення про помилку в контейнері докера. Я вирішив це, додавши:

WORKDIR /usr/src

до Dockerfile.


0

У мене була та сама проблема, і я виявив, що в моєму проекті не було пакета package.json (а лише пакет-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

... отримав повідомлення про помилку. Після декількох спроб і помилок я виявив, що коли мій проект був створений, команда start була неправильною. Я використовував версію Ionic 3:

ionic start myApp tabs --type=ionic-angular

І правильно:

ionic start myApp tabs --type=angular

без типу "іонний". Це вирішило помилку.


0

Просто перевірте свій каталог, ви повинні запустити "ng serve" у тому самому каталозі, де ви створили проект.

Отже, спочатку введіть у свій каталог проектів.


0

Людям, які просто клонували проект та намагаються його запустити, потрібно запустити npm installпершим. Я повністю забув запустити це і просто працював ng serveперед установкою модулів вузлів.

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