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.