Błąd: nie można znaleźć pliku lokalnego obszaru roboczego („angular.json”)


189

Mam travis-cizintegrowany z moim koncie GitHub ( https://github.com/pradeep0601/Angular5-Router-App ).

Kiedy zaktualizowałem @angular/cliwersję z 1.7.4 do 6.0.0-rc.3, kompilacja zaczęła się nie powieść z błędem:

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

fragment package.json, aby lepiej zrozumieć działające środowisko:

    "@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",

Napotkałem ten sam problem, i to było głupie, dzieje się tak, gdy używasz terminala z kodu Visual Studio i działa po przełączeniu na domyślną wersję cli!
— Gilles Kagarama,

Odpowiedzi:


319

Właśnie miałem ten sam problem.

Jest to związane z wersją 6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

Nowy format konfiguracji. Nowy plik można znaleźć pod angular.json (ale .angular.json jest również akceptowany). Uruchomienie aktualizacji projektu CLI 1.7 spowoduje przejście do nowej konfiguracji.

Musiałem wykonać:

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

To zostało usunięte .angular-cli.jsoni utworzone angular.json.

Jeśli prowadzi to do twojego projektu przy użyciu 1.7.4, zainstaluj lokalnie v6:

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

I spróbuj jeszcze raz zaktualizować swój projekt za pomocą:

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

4
uruchomiony ng update @angular/cli --migrate-only --from=1.7.4wyniki w błąd: Collection "@schematics/angular/migrations/migration-collection.json" cannot be resolved.. jakiś sposób to naprawić?
— GO VEGAN

1
Dostaję również opcję „Nieznana opcja:” --extractCss ”
— Mohammed Barakat

8
Upewnij się, że twoje wersje npm i nodejs są aktualne, w przeciwnym razie prawdopodobnie wystąpi awaria. ng update @angular/clijest wszystkim, czego potrzeba.
— rtaft,

1
@ user1932595 Musiałem uaktualnić @schematics/angulardo najnowszej wersji, aby obejść ten błąd.
— bygrace,

2
Krótka uwaga powyżej. Usunięcie pliku .angula-cli.json stało się dla mnie dopiero po drugim uruchomieniu polecenia ng update.
— Aggie Jon z 87

78

Otrzymywałem te same komunikaty o błędach. To był głupi błąd z mojej strony, nie byłem uruchomiony ng servew katalogu, w którym znajduje się mój projekt Angular. Upewnij się, że jesteś w odpowiednim katalogu (katalogu projektu) przed uruchomieniem tej komendy.


3
och, to szalone :)) dzięki, że zaoszczędziłem też wiele skomplikowanych problemów! czasami rozwiązania są bardzo proste
— msanjay

popełnił ten sam błąd
— Faizan Mubasher

Zrobiłem to samo. Tworzysz katalog do obsługi twojego projektu, a on tworzy inny katalog w tym katalogu (klapię się)
— Jonathan

tj. nowa aplikacja my, cd moja aplikacja (widziałem ten komentarz wcześniej, ale zakładałem, że oznaczało to najwyższy poziom)
— Tony

popełnił ten sam błąd, który uratowałeś mi dzień, Dzięki
— Ahmed ElShemy,

36

W najnowszej wersji bez --migrate-onlyaktualizacji repo.

Zrobiłem aktualizację

Format konfiguracji Angular CLI został zmieniony, a istniejącą konfigurację można zaktualizować automatycznie, uruchamiając następujące polecenie:

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)

RozumiemIncompatible peer dependencies found. See above.
— Simon Baars,

Wystąpił nieoczekiwany błąd; Pakiet @ kątowy / flex-layout nie ma wersji null.
— Prageeth godage

20

Cóż, napotkałem ten sam problem, jak tylko zaktualizowałem swoją angular cliwersję.

Wcześniej korzystałem z wersji 1.7.4, a teraz zaktualizowałem ją do angular cli 6.0.8.

Aby zaktualizować Angular Cli Global:

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

Aby zaktualizować program Angular Cli:

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

Aby naprawić problemy audytu po instalacji npm:

npm audit fix

Aby naprawić problem związany z „angular.json”:

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

17

Odinstaluj starą wersję Angular cli i zainstaluj Angular CLI global:

Zaktualizuj pakiet globalny Angular cli do następnej wersji „@ angular / compiler-cli”: „^ 6.0.0”

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

Wygeneruj nowy projekt i domyślną aplikację, uruchamiając następujące polecenie:

ng new my-project
cd my-project
ng serve

7
nie używaj cli @ next, użyj cli @ latest, w przeciwnym razie otrzymasz wersje beta.
— Switch

9

Spróbuj użyć poniższego polecenia:

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

Wykona poniższe

  • Aktualizacja konfiguracji karmy

  • Aktualizacja konfiguracji

  • Usuwanie starego pliku konfiguracyjnego (.angular-cli.json)

  • Zapisywanie pliku konfiguracyjnego (angular.json)

Pls zauważ, że powyższe polecenie powinno być uruchomione w folderze, w którym masz plik. angular-cli.jsoni zostanie zastąpiony przez angular.json.


Uruchomiłem polecenie kilka razy i plik angular.json nigdy się nie pojawia. Jeśli jednak usunę plik angular-cli.json, uruchom polecenie, plik angular-cli.json zostanie ponownie dodany. czego tu brakuje?
— napisał

8

Jeśli nie znasz wersji, bieżący projekt został wykonany, możesz pominąć --frompolecenie i wpisać--migrate-only

ng update @ angular / cli --migrate-only


7

Jeśli wszelkiego rodzaju aktualizacja komandosów tego nie zrobi. Spróbuj usunąć pakiet-lock.json . A następnie uruchom instalację npm . Wykonałem dla mnie lewitację po przejściu ton aktualizacji komandosów.


Czy jest jakiś powód, aby nie przyjmować tego podejścia jako domyślnego (upuszczenie folderu node_modules i package-lock.json), a po prostu uruchomienie instalacji npm?
— Wallace Howery,

4

Mi to pasuje:

Usunięty folder node_modules

Uruchom polecenie: npm install

(Jeśli to nie działa po raz pierwszy, powtórz to 2 lub 3 razy, Jest zabawne, ale działa dla mnie.)


4
Dlaczego powtórzenie tego procesu miałoby inny efekt niż za pierwszym razem?
— Sledge

3

Sprawdź strukturę folderów, w której wykonujesz polecenie, powinieneś uruchomić polecenie „ng serve”, w którym powinien znajdować się plik angular.json.

plik angular.json zostanie wygenerowany domyślnie po uruchomieniu polecenia

npm install -g '@ angular / cli' ng nowa nazwa_projektu, następnie cd folder_projektu, a następnie uruchom serw. zadziałało dla mnie


3

Po prostu uruchom ng update @angular/cli konsolę. Możesz znaleźć pewne luki w zabezpieczeniach po uruchomieniu polecenia (jeśli używasz npm), ale potem po prostu uruchomnpm audit fix konsolę, aby je naprawić. To polecenie przeskanuje projekt pod kątem luk w zabezpieczeniach, a także naprawi problemy ze zgodnością, instalując aktualizacje tych zależności. Jeśli nie te usterki natychmiast chcą naprawić auto, można przeprowadzić na sucho: przez uruchomiony npm audit fix --dry-run -json w konsoli. To da ci wyobrażenie o tym, co npm audit fixzrobi to polecenie , w postaci json w konsoli.


3

Miałem ten sam problem i zadziałało dla mnie:

  1. W pliku package.json zaktualizuj wersję Angular CLI do żądanej:

    "devDependencies": { ...
      "@angular/cli": "^6.0.8",
      ...
    }
    
  2. Usuń node_modulesfolder, aby wyczyścić projekt przed zaktualizowaniem zależności za pomocą:

    npm install
    
    ng update @angular/cli
    
  3. Spróbuj zbudować ponownie mój projekt (ostatnia i udana próba)

    ng build --prod
    

2

Dla mnie to, co działało było stworzenie nowego projektu kanciaste i właśnie skopiowany plik angular.json w projekcie, który miał problem ze względu na fakt, że plik angular.json został brakujący .


1

Dla mnie problem polegał na tym, że globalna wersja @ angular / cli i @ angular / compiler-cli były różne. Zajrzyj do package.json .

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

A jeśli nie pasują, zaktualizuj lub obniż jeden z nich.


1

Napotkałem również ten sam problem i właśnie wykonałem poniżej polecenia.

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

Po prostu usuwa angular-cli.jsoni tworzyangular.json . Możesz to znaleźć w logach.

Po rozpoczęciu wykonywania. Będziesz mógł zobaczyć poniższe dzienniki w swoim terminalu.

        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

Dla mnie problemem było to, że mam folder projektu kątowego w folderze projektu szyny i uruchomiłem wszystkie polecenia aktualizacji kątowej w folderze nadrzędnym szyny, a nie w folderze rzeczywistym.


0

Miałem ten komunikat o błędzie w kontenerze dokera. Rozwiązałem to, dodając:

WORKDIR /usr/src

do Dockerfile.


0

Miałem ten sam problem i stwierdziłem, że w moim projekcie nie było pliku package.json (ale tylko pakiet-lock.json). Ja wtedy

  1. przywrócono plik package.json z kontroli źródła
  2. odinstalował globalne i lokalne wersje angli-cli (jak mówi instrukcja)
  3. postępował zgodnie ze standardową procedurą aktualizacji

... i wszystko dobrze się ułożyło. Zajęło mi to trochę czasu, aby to rozgryźć, ale to mi zrobiło.


0
~/Desktop $ ng serve

Nie można znaleźć lokalnego pliku obszaru roboczego („angular.json”).

Błąd: nie można znaleźć pliku lokalnego obszaru roboczego („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)

Jest tak, ponieważ nie wybrałem katalogu projektu Angular.

Powinno być jak:

~ / Desktop / angularproject $ ng służyć


0

Próbowałem ustawić moją aplikację Ionic 4 na działanie jako pwa. Po uruchomieniu polecenia:

ng add @angular/pwa

... dostał komunikat o błędzie. Po kilku próbach i błędach odkryłem, że kiedy mój projekt został utworzony, polecenie start było niepoprawne. Korzystałem z wersji Ionic 3:

ionic start myApp tabs --type=ionic-angular

Prawidłowe jest:

ionic start myApp tabs --type=angular

bez typu „jonowego”. To rozwiązało błąd.


0

Po prostu sprawdź swój katalog, musisz uruchomić „ng serve” w tym samym katalogu, w którym utworzyłeś projekt.

Więc najpierw wejdź do katalogu projektu.


0

W przypadku osób, które po prostu sklonowały projekt i próbują go uruchomić, musisz npm installnajpierw uruchomić . Całkowicie zapomniałem to uruchomić i po prostu działałem ng serveprzed instalacją modułów węzłów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.