오류 : 로컬 작업 공간 파일 ( 'angular.json')을 찾을 수 없습니다


189

나는 한 travis-ci내 GitHub의 계정 (통합 https://github.com/pradeep0601/Angular5-Router-App ).

내가 업데이트했을 때 @angular/cli1.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로 전환 할 때 작동합니다!
Gilles Kagarama

답변:


319

방금 같은 문제가있었습니다.

릴리스 v6.0.0-rc.2, https://github.com/angular/angular-cli/releases 와 관련이 있습니다 .

새로운 구성 형식. 새 파일은 angular.json에서 찾을 수 있습니다 (그러나 .angular.json도 허용됨). CLI 1.7 프로젝트에서 ng update를 실행하면 새 구성으로 이동합니다.

나는 실행해야했다.

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'`
모하메드 Barakat에게

8
npm 및 nodejs 버전이 최신인지 확인하십시오. 그렇지 않으면 실패 할 수 있습니다. ng update @angular/cli필요한 전부입니다.
rtaft

1
@ user1932595 @schematics/angular해당 오류를 극복하기 위해 최신 버전으로 업그레이드 해야했습니다.
bygrace

2
위의 짧은 메모. ng update 명령을 두 번째 실행할 때까지 .angula-cli.json을 제거하지 않았습니다.
Aggie Jon

78

같은 오류 메시지가 나타납니다. 그것은 결국 어리석은 실수였습니다 ng serve. Angular 프로젝트가있는 디렉토리에서 실행되지 않았습니다 . 이 명령을 실행하기 전에 올바른 디렉토리 (프로젝트 디렉토리)에 있는지 확인하십시오.


3
아, 그건 미쳤어 요 :)) 고마워요. 때때로 해결책은 정말 간단합니다
msanjay

같은 실수를했다
파이 잔 Mubasher

나는 같은 일을했다. 프로젝트를 제공 할 디렉토리를 만들고 해당 디렉토리 내부에 다른 디렉토리를 만듭니다 (나를 때려)
Jonathan

예를 들어 새로운 my-app, cd my-app (이 코멘트는 앞서 보았지만 최상위 레벨을 의미한다고 가정)
tony

감사합니다
Ahmed ElShemy

36

최신 버전없이 --migrate-only repo가 ​​업데이트 않았습니다.

내가 했어 업데이트했다

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.
Simon Baars

예기치 않은 오류가 발생했습니다. @ angular / flex-layout 패키지에는 버전 null이 없습니다.
Prageeth godage

20

글쎄, 내 angular cli버전을 업데이트하자마자 같은 문제에 직면했다 .

이전에는 1.7.4를 사용하고 있었고 지금은로 업그레이드했습니다 angular cli 6.0.8.

Angular Cli 글로벌을 업데이트하려면 :

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 전역을 설치하십시오.

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

ng update @ 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

명령을 실행하는 폴더 구조를 확인하십시오. 구조에 angular.json 파일이 있어야하는 위치에서 'ng serve'명령을 실행해야합니다.

angular.json 파일은 명령을 실행할 때 기본적으로 생성됩니다

npm install -g '@ angular / cli'ng 새 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 형태로 명령 이 수행 할 작업에 대한 아이디어를 제공합니다 .


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

나는 또한 같은 문제에 직면하고 방금 명령을 실행했다.

ng update @ angular / cli --migrate-only --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

나를 위해 문제는 레일 프로젝트 폴더 안에 각도 프로젝트 폴더가 있고 실제 각도 폴더가 아닌 레일 부모 폴더에서 모든 각도 업데이트 명령을 실행했다는 것입니다.


0

도커 컨테이너 안에이 오류 메시지가 나타났습니다. 나는 그것을 추가하여 해결했다 :

WORKDIR /usr/src

Dockerfile에.


0

나는 같은 문제가 있었고 프로젝트에 package.json이 없다는 것을 알았습니다 (그러나 package-lock.json 만). 나는 그때

  1. 소스 제어에서 package.json을 복원했습니다.
  2. 글로벌 및 로컬 앵귤러 클리 버전을 제거했습니다 (지시서와 같이)
  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 프로젝트 디렉토리를 선택하지 않았기 때문입니다.

다음과 같아야합니다.

~ / Desktop / angularproject $ ng 서브


0

Ionic 4 앱을 pwa로 실행하도록 설정하려고했습니다. 명령을 실행할 때 :

ng add @angular/pwa

... 오류 메시지가 나타납니다. 몇 번의 시도와 오류 후에 프로젝트를 만들 때 시작 명령이 잘못되었음을 발견했습니다. Ionic 3 버전을 사용하고있었습니다.

ionic start myApp tabs --type=ionic-angular

그리고 올바른 것은 :

ionic start myApp tabs --type=angular

유형에 'ionic-'이 없습니다. 이것은 오류를 해결했습니다.


0

디렉토리를 확인하기 만하면 프로젝트를 만든 동일한 디렉토리에서 "ng serve"를 실행해야합니다.

따라서 먼저 프로젝트 디렉토리에 입력하십시오.


0

단순히 프로젝트를 복제하고 실행하려는 사람들은 npm install먼저 실행해야합니다 . 나는 이것을 실행하는 것을 완전히 잊었고 ng serve노드 모듈을 설치하기 전에 단순히 실행 중이었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.