ข้อผิดพลาด: ไม่พบไฟล์พื้นที่ทำงานในเครื่อง ('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 snippet เพื่อทำความเข้าใจสภาพแวดล้อมการทำงานให้ดีขึ้น:

    "@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 cli เริ่มต้น
Gilles Kagarama

คำตอบ:


319

ฉันมีปัญหาเดียวกัน

มันเกี่ยวข้องกับการปล่อย v6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

รูปแบบการกำหนดค่าใหม่ ไฟล์ใหม่สามารถดูได้ที่ angular.json (แต่ยอมรับว่า. triangle.json ด้วย) การรันการอัพเดต ng บนโปรเจ็กต์ CLI 1.7 จะย้ายคุณไปยังคอนฟิกูเรชันใหม่

ฉันต้องการดำเนินการ:

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

นี้เอาออกและสร้าง.angular-cli.jsonangular.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'`
Mohammed Barakat

8
ตรวจสอบให้แน่ใจว่าเวอร์ชัน npm และ nodejs ของคุณเป็นรุ่นล่าสุดมิฉะนั้นคุณอาจจะล้มเหลว ng update @angular/cliคือทั้งหมดที่จำเป็น
rtaft

1
@ user1932595 ฉันต้องอัปเกรด@schematics/angularเป็นเวอร์ชั่นล่าสุดเพื่อให้ได้ข้อผิดพลาดที่ผ่านมา
bygrace

2
ข้อความสั้นด้านบน การลบ .angula-cli.json ไม่ได้เกิดขึ้นกับฉันจนกว่าจะมีการรันคำสั่ง ng update ครั้งที่สอง
Aggie Jon จาก 87

78

ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกัน มันเป็นความผิดพลาดที่ไร้สาระในตอนท้ายของฉันฉันไม่ได้ทำงานng serveในไดเรกทอรีที่โครงการแองกูลาร์ของฉันเป็น ตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเรกทอรีที่ถูกต้อง (ไดเรกทอรีโครงการ) ก่อนเรียกใช้คำสั่งนี้


3
โอ้มันบ้า :)) ขอบคุณที่บันทึกปัญหาการแก้ไขที่ซับซ้อนมากมายสำหรับฉันเช่นกัน! บางครั้งการแก้ปัญหานั้นง่ายมาก
msanjay

ทำผิดพลาดเหมือนกัน
Faizan 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

เกิดข้อผิดพลาดที่ไม่คาดคิด; package @ angular / flex-layout ไม่มีรุ่นที่เป็นโมฆะ
Godage Prageeth

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 @ ถัดไปใช้ cli @ latest ไม่เช่นนั้นคุณจะได้รับรุ่นเบต้า
สลับ

9

ลองใช้คำสั่งด้านล่าง:

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

มันจะดำเนินการด้านล่าง

  • กำลังอัปเดตการกำหนดค่ากรรม

  • กำลังอัปเดตการกำหนดค่า

  • การลบไฟล์กำหนดค่าเก่า (.angular-cli.json)

  • กำลังเขียนไฟล์กำหนดค่า (angular.json)

โปรดทราบว่าคำสั่งดังกล่าวควรจะทำงานในโฟลเดอร์ที่คุณมีไฟล์ และมันจะถูกแทนที่ด้วยangular-cli.jsonangular.json


ฉันเรียกใช้คำสั่งหลายครั้งและไฟล์ angular.json ไม่เคยปรากฏขึ้น อย่างไรก็ตามหากฉันลบไฟล์ angular-cli.json ให้รันคำสั่งไฟล์ angular-cli.json จะถูกเพิ่มกลับมา ฉันคิดถึงอะไรที่นี่
jgritten

8

หากคุณไม่ทราบเวอร์ชันโครงการปัจจุบันได้ถูกสร้างขึ้นคุณสามารถละเว้น--fromคำสั่งและประเภทได้--migrate-only

ng update @ angular / cli - อพยพเท่านั้น


7

หากการปรับปรุงคอมมานโดทุกประเภทไม่สามารถทำได้ ลองลบแพคเกจ lock.json และจากนั้นก็วิ่งNPM ติดตั้ง ทำเคล็ดลับสำหรับฉันหลังจากผ่านคอมมานโดอัพเดตมากมาย


เหตุผลใดที่จะไม่ใช้วิธีการนี้เป็นค่าเริ่มต้น (วาง node_modules โฟลเดอร์และ package-lock.json) และเพียงแค่เรียกใช้การติดตั้ง npm?
วอลเลซ Howery

4

มันเหมาะกับฉัน:

ลบโฟลเดอร์ node_modules

เรียกใช้คำสั่ง: npm install

(ถ้ามันไม่ทำงานเป็นครั้งแรกให้ทำซ้ำ 2 หรือ 3 ครั้งมันตลก แต่มันใช้ได้สำหรับฉัน)


4
เหตุใดการทำซ้ำขั้นตอนนี้จึงมีผลแตกต่างจากครั้งแรก
เลื่อน

3

ตรวจสอบโครงสร้างโฟลเดอร์ของคุณที่คุณกำลังดำเนินการคำสั่งคุณควรเรียกใช้คำสั่ง 'ng เสิร์ฟ' โดยที่ควรมีไฟล์ angular.json ในโครงสร้าง

ไฟล์ angular.json จะถูกสร้างขึ้นตามค่าเริ่มต้นเมื่อเราเรียกใช้คำสั่ง

npm install -g '@ angular / cli' ng ใหม่ Project_name แล้ว cd project_folder แล้วเรียกใช้ ng ให้บริการ มันใช้งานได้สำหรับฉัน


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

ลองใช้ลิงค์นี้เพื่อโยกย้ายจาก Angular 5.2 เป็น 6 https://update.angular.io/

การอัปเกรดเป็นเวอร์ชัน 8.9 ใช้งานได้สำหรับฉัน ป้อนคำอธิบายรูปภาพที่นี่


0

สำหรับฉันปัญหาคือว่าฉันมีโฟลเดอร์โครงการเชิงมุมภายในโฟลเดอร์โครงการทางรถไฟและฉันวิ่งคำสั่งการปรับปรุงเชิงมุมทั้งหมดในโฟลเดอร์หลักทางรถไฟแทนที่จะเป็นโฟลเดอร์เชิงมุมที่เกิดขึ้นจริง


0

ฉันพบข้อความแสดงข้อผิดพลาดนี้ภายในคอนเทนเนอร์นักเทียบท่า ฉันแก้ไขมันเพิ่ม:

WORKDIR /usr/src

ไปที่ Dockerfile


0

ฉันมีปัญหาเดียวกันและพบว่าไม่มี package.json ในโครงการของฉัน (แต่ package-lock.json) ฉันแล้ว

  1. กู้คืน package.json จากแหล่งควบคุม
  2. ถอนการติดตั้งเวอร์ชัน global และ 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)

นี่เป็นเพราะฉันไม่ได้เลือกไดเรกทอรีโครงการเชิงมุม

มันควรจะเป็นเช่น:

~ / 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" ในไดเรกทอรีเดียวกันกับที่คุณได้สร้างโครงการ

ดังนั้นก่อนป้อนในไดเรกทอรีโครงการของคุณ


0

สำหรับผู้ที่เพิ่งโคลนโครงการและพยายามเรียกใช้คุณต้องเรียกใช้npm installก่อน ฉันลืมที่จะรันสิ่งนี้ทั้งหมดและก็ทำงานng serveก่อนที่จะติดตั้งโมดูลโหนด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.