เมื่อเรียกใช้คำสั่งเทอร์มินัลng server
หรือng serve --live-reload=true
ฉันพบปัญหานี้:
คำสั่งให้บริการจะต้องมีการเรียกใช้ในโครงการเชิงมุม แต่ไม่พบคำนิยามของโครงการ
ng new project
ฉันลืมที่จะเข้าสู่ไดเรกทอรีโครงการ
เมื่อเรียกใช้คำสั่งเทอร์มินัลng server
หรือng serve --live-reload=true
ฉันพบปัญหานี้:
คำสั่งให้บริการจะต้องมีการเรียกใช้ในโครงการเชิงมุม แต่ไม่พบคำนิยามของโครงการ
ng new project
ฉันลืมที่จะเข้าสู่ไดเรกทอรีโครงการ
คำตอบ:
ฉันยังได้รับปัญหานี้และแก้ไขได้โดยการเรียกใช้คำสั่งด้านล่าง
ng update @angular/cli --migrate-only --from=<WhateverVersionYouAreCurrentlyOn>
เช่น
ng update @angular/cli --migrate-only --from=1.7.3
ได้รับการอ้างอิงจากที่นี่https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036
--from=1.7.4
หมายถึงรุ่นที่ถูกอพยพมาจากดังนั้น1.7.4
ควรจะเปลี่ยนเป็นรุ่นเชิงมุมคุณก่อนใช้ (เช่น5.2.10
, 6.0.0
ฯลฯ )
The specified command update is invalid. For available options, see ``ng help``.
ฉันแก้ไขได้โดยการอัปเดต angular-cli เป็น 1.7.4 แล้วทำตามคำตอบนี้
ตรวจสอบให้แน่ใจว่าคุณกำลังรันคำสั่งในโฟลเดอร์ root ของแอปพลิเคชัน
pm> dir
pm> cd clientapp
แล้วถ้าคุณมีข้อผิดพลาดการใช้งานดังต่อไปนี้ pm>ng config -g cli.warnings.versionMismatch false
ในที่สุดคำสั่งด้านล่างแก้ไขปัญหาสำหรับฉัน!
ng update --all --force
ng update @angular/cli
ไม่ทำงาน แต่ng update --all --force
ทำงานได้ตามที่คาดหวังอะไรคือความแตกต่าง
ข้อผิดพลาดของ Angular Cli: คำสั่งบริการจำเป็นต้องถูกเรียกใช้ในโครงการ Angular แต่ไม่พบคำจำกัดความของโครงการ
เกิดปัญหากับไฟล์ angular.json
ng update --all --force
ทดสอบในเชิงมุม 7+
มันเกิดขึ้นในโครงการที่มีอยู่ของฉันขณะที่ฉันพยายามอัปเดตเป็นแพ็คเกจล่าสุดnode
และnpm
:
npm uninstall -g angular-cli
npm cache clean
หรือnpm cache verify
(สำหรับnpm version
> 5)npm install -g @angular/cli@latest
ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าการกำหนดค่าเวอร์ชันเชิงมุมใหม่ในโครงการของคุณ cli เชิงมุมใหม่ใช้ angular.json และไม่ใช่. triangle-cli.json สำหรับการตั้งค่า
มันโง่ฉัน แต่ต้องออกความคิดเห็นบางทีฉันอาจช่วยคนอื่นให้ยุ่งยากบ้าง ข้อความเดียวกันที่เกิดขึ้นถ้าคุณทำงานหลายและมีหลายโครงการเพื่อให้บางส่วนของโครงการเป็นโฟลเดอร์ภายในโครงการที่ซ้อนกันเช่นprojectFolder/subProject/projectOne
เพื่อให้ผมอยู่ในความพยายามที่จะเรียกใช้คำสั่งprojectFolder/subProject
ng serve
ตรวจสอบให้แน่ใจว่าคุณอยู่ในโฟลเดอร์ที่ถูกต้องเพราะข้อผิดพลาดเดียวกันจะเกิดขึ้นหากคุณอยู่ในโฟลเดอร์ที่ไม่ถูกต้องและ conf และบิลด์จะหายไป!
ใน Package Manager Console ของคุณให้รันคำสั่ง
PM> cd NameofApp
จากนั้นคุณสามารถลองเรียกใช้คำสั่งนั้นได้ตัวอย่างเช่น
PM > ng generate component Home
การติดตั้งกลับมาใหม่แอพพลิเคชั่นนั้นดีกว่าการอัพเดทหรือแก้ไขการกำหนดค่าบางอย่างที่ไม่รู้จักในเวลาบ่ายสามโมงเนื่องจากการกำหนดค่าที่ขาดหายไปหรือเราไม่แน่ใจว่าเกิดอะไรขึ้น
ฉันเลือก @Tinu ทางออกทำงานได้
ขั้นตอนที่ 1) การติดตั้ง npm -g @ angular / cli
ขั้นตอนที่ 2) ใหม่ my-angular-project
ขั้นตอนที่ 3) cd my-angular-project
ขั้นตอนที่ 4) ng เสิร์ฟ - เปิด
เพิ่งทำการสำรองข้อมูลสำหรับซอร์สโค้ดปัจจุบันของเราและนำกลับไปที่โปรเจคเชิงมุมใหม่ที่สร้าง
สิ่งนี้เกิดขึ้นเมื่อคุณพยายามเรียกใช้คำสั่ง Angular "ng s" หรือ "ng เสิร์ฟ" ในโฟลเดอร์อื่นแทนโฟลเดอร์รูทของแอปพลิเคชัน Angular
อัพเกรด Angular ด้วยคำสั่งดังต่อไปนี้:
ng update @angular/cli --migrate-only --from=1.7.4
มันจะเรียงลำดับออก
ในกรณีของฉันฉันลืมเปลี่ยนไดเรกทอรีดังนั้นหลังจากรันคำสั่ง:
ใหม่ AngularProject
รันคำสั่งอื่น:
cd AngularProject
และng serve
ทำงานให้ฉัน
ฉันมีปัญหาเดียวกันกับ Angular7 เพราะเราต้องไปที่โฟลเดอร์รูทก่อนเรียกใช้แอปพลิเคชันของคุณ ไปที่โฟลเดอร์รูทของแอพและเรียกใช้คำสั่ง มันทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน
ปัญหาเดียวกันฉันเจอ แต่ฉันแก้ไขโดยทำตามขั้นตอนของรหัส
Step 1) npm install -g @angular/cli
Step 2) ng new my-angular-project
Step 3) cd my-angular-project
Step 4) ng serve --open
ข้อผิดพลาดนี้เกิดขึ้นเมื่อโครงการที่คุณกำลังเรียกใช้ไม่ใช่โครงการเชิงมุม แม้ว่าคุณจะดาวน์โหลดโครงการเชิงมุม แต่ยังไม่ได้ติดตั้งการอ้างอิงทั้งหมดที่เป็นสาเหตุที่คำสั่ง ng เสิร์ฟไม่สามารถใช้ได้สำหรับคุณ
เพียงนำทางไปยังเส้นทางที่จัดเก็บโครงการและใช้คำสั่ง
npm install
(หมายเหตุ - ควรติดตั้ง Node.js ในระบบของคุณและหากคุณกำลังใช้ Angular 2 หรือสูงกว่า angular cli ควรติดตั้งในระบบของคุณก่อนที่คุณจะรันคำสั่งนี้เพื่อตรวจสอบว่า node.js ติดตั้งอยู่ในระบบของคุณ 1) Open cmd (path ใด ๆ ที่เป็น node ควรติดตั้งแบบโกลบอลในระบบของคุณ) 2) use command
node -v
npm -v
เพื่อรับโหนดและเวอร์ชัน npm)
สิ่งสำคัญอีกอย่างหนึ่ง: เวอร์ชันเชิงมุมจะไม่สร้างความแตกต่างหากรุ่นที่ติดตั้งในระบบของคุณสูงกว่ารุ่นที่โครงการต้องการ มันจะให้คำเตือน แต่คุณสามารถละเว้นคำเตือน
ข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อเราอยู่ในไดเรกทอรีที่ไม่ถูกต้องดังนั้นใช้คำสั่ง cd เพื่อเปลี่ยนไดเรกทอรีของคุณ มันไม่ชัดเจนมากจากความคิดเห็นข้างต้นว่าคำสั่งใดให้ข้อผิดพลาดนี้ดังนั้นคำตอบนี้จะขึ้นอยู่กับข้อสันนิษฐานว่าคุณกำลังเรียกใช้ ng ให้บริการนอกโฟลเดอร์ราก / โฟลเดอร์โครงการจริง นั่นเป็นสาเหตุที่ทำให้เกิดข้อผิดพลาดเนื่องจากคำสั่ง cli ต้องการไฟล์ conf & build เพื่อเรียกใช้ cli build
These should be the steps:
npm install -g @angular/cli //corrected from 'angular-cli'
ng new projectname
cd projectname
ng serve
open http://localhost:4200
ฉันพบข้อผิดพลาดเดียวกัน เหตุผลก็คือการอัปเดตเชิงมุม cli ใหม่ทำให้ angular-cli.json ซ้ำซ้อนและมันจะถูกแทนที่ด้วย angular.json แทน เวอร์ชัน Angular Cli ก่อนหน้าของฉันคือ 1.7.4 ดังนั้นเพื่อทำการเปลี่ยนแปลงฉันรันคำสั่งต่อไปนี้มันจะทำการแปลงให้คุณ:
ng update @angular/cli --migrate-only --from=1.7.4
ฉันประสบปัญหาเดียวกันเมื่อ
ฉันได้สร้างโครงการเชิงมุมใหม่โดยใช้เวอร์ชันเชิงมุมเก่า (1.4.7) จากนั้นฉันก็อัปเดตมุมเชิงมุมโดยใช้คำสั่งด้านล่าง ( อย่าทำด้านล่างเพื่ออัพเดท CLI )
npm uninstall -g @angular/cli
npm cache clean --force
npm install -g @angular/cli@latest
ตอนนี้เมื่อฉันพยายามng serve
ฉันได้รับข้อผิดพลาดเช่นเดียวกับคุณ
Angular Cli Error: The serve command requires to be run in an Angular project, but a project definition could not be found
ทำการปรับปรุง CLI
ng update @angular/cli --migrate-only --from=1.4.7
อย่างที่ Usman กล่าวว่าฉันมีปัญหามากมายในครั้งแรกฉันทำตามบทช่วยสอน ฉันไม่ได้ตั้งค่าไดเรกทอรีของฉันเป็นไดเรกทอรีโครงการจึงได้รับข้อผิดพลาดนี้
ฉันแก้ไขปัญหาโดย
cd myproject
ng serve
นั่นมัน
ฉันใช้ ionciv1 ในไฟล์ionic.config.json
ลบคีย์ประเภทแองกูลาร์และทำงานได้อย่างถูกต้อง
ตัวอย่าง:
{
"name": "nombre",
"integrations": {
"cordova": {}
},
"type": "angular", // delete
"gulpStartupTasks": [
"sass",
"templatecache",
"ng_annotate",
"useref",
"watch"
],
"watchPatterns": [
"www/**/*",
"!www/lib/**/*"
],
"browsers": [
{
"platform": "android",
"browser": "crosswalk",
"version": "12.41.296.5"
}
],
"id": "0.1"
}
แก้ไข
{
"name": "nombre",
"integrations": {
"cordova": {}
},
"gulpStartupTasks": [
"sass",
"templatecache",
"ng_annotate",
"useref",
"watch"
],
"watchPatterns": [
"www/**/*",
"!www/lib/**/*"
],
"browsers": [
{
"platform": "android",
"browser": "crosswalk",
"version": "12.41.296.5"
}
],
"id": "0.1"
}
ข้อผิดพลาดนี้มักจะสามารถตรวจสอบย้อนกลับไปยังการปรับปรุงรันไทม์ CLI ทั่วโลกหรือท้องถิ่นของเรา ในการตรวจสอบว่านี่เป็นปัญหาหรือไม่เราจำเป็นต้องตรวจสอบpackage.json
ไฟล์ ที่นั่นเราควรมองหาการพึ่งพา@ angular / cli สิ่งนี้ควรระบุรุ่น CLI ที่ใช้สร้างโครงการของเรา ให้บันทึกค่านี้ตามที่เราต้องการใช้เพื่อย้ายโครงการของเราในภายหลัง
ตอนนี้เราควรเปรียบเทียบกับรันไทม์ CLI ปัจจุบันโดยการป้อนคำสั่งต่อไปนี้บนหน้าต่างเทอร์มินัล
ng v
หากคุณได้รับข้อผิดพลาด
An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules'
คุณลืมที่จะเรียกใช้npm install
คอนโซลควรแสดงเวอร์ชัน CLI ปัจจุบัน หากเวอร์ชันต่างกันเราจำเป็นต้องย้ายโครงการไปเป็นเวอร์ชัน CLI ใหม่โดยการรันคำสั่งด้านล่าง โปรดทราบว่าพารามิเตอร์from version ควรตั้งค่าเป็นค่าที่พบสำหรับการตั้งค่า@ angular / cli
ng update @angular/cli --migrate-only --from=1.6.7
ตอนนี้เราควรมาดูโครงการของเราและควรสังเกตการเปลี่ยนแปลงของเวอร์ชันการพึ่งพา CLI ในpackage.json
ไฟล์ นอกจากนี้ยังขึ้นอยู่กับรุ่น CLI ของคุณ.angular-cli.json
ไฟล์จะถูกลบและใหม่angular.json
ไฟล์จะถูกสร้างขึ้น นี่เป็นไฟล์โครงการที่ CLI ใหม่กำลังค้นหาและทำให้แหล่งที่มาของข้อผิดพลาดไม่พบโครงการ โดยการเพิ่มไฟล์นี้เราควรจะสามารถกลับมาติดตามการทำงานโครงการของเราอีกครั้ง
เราควรจะสามารถป้อนคำสั่งต่อไปนี้และโครงการควรจะโหลดได้ดี
ng server
ขอบคุณozkary
ตรวจสอบให้แน่ใจว่าคุณได้สร้างแอพเชิงมุมโดยใช้คำสั่งด้านล่างจากนั้นเรียกใช้บริการ ng ในโฟลเดอร์โครงการที่สร้างขึ้น
ng new Project_Name
นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณใช้ ng ให้บริการที่คุณหยุดมันก่อน ...
แก้ไข ผมได้รับปัญหาเดียวกันในอูบุนตู 18.04.01 LTS ไม่มีตัวเลือกด้านบนทำงานเมื่อฉันใช้NVM (Node Version manager)วิธีแก้ไขคือ
ก่อนสร้างโครงการใช้คำสั่ง
nvm ใช้ 10
(รุ่นโหนดของฉันคือ 10.15.0 ดังนั้นฉันใช้ "nvm ใช้ 10")
มันจะแสดงผลลัพธ์ให้คุณ
ตอนนี้ใช้โหนด v10.15.0 (npm v6.4.1)
เวอร์ชั่นจะแตกต่างกันไปตามแต่ละระบบ จากนั้นสร้างโครงการใหม่
คุณสามารถอัปเดตเชิงมุมด้วยคำสั่ง 'ng update --all' ต้องใช้เวลา แต่ต้องแน่ใจว่าส่วนประกอบทั้งหมดของคุณเป็นรุ่นล่าสุด
โปรดตรวจสอบว่าคุณอยู่ในโฟลเดอร์โครงการหรือไม่และลองใช้คำสั่ง ng serve
อีกครั้ง
ฉันได้รับข้อผิดพลาดเดียวกันตั้งแต่ฉันพยายาม ng serve
สั่งนอกโครงการ
ตัวอย่าง :: สมมติว่าคุณมีโครงการที่มีชื่อ "อีคอมเมิร์ซ" เข้าไปในโฟลเดอร์และลองใช้คำสั่ง ng serve
เปิดเทอร์มินัลซีดีอีคอมเมิร์ซ ng ให้บริการ
วิธีนี้แก้ไขปัญหาของฉัน:
ng generate component nameComponent --module app.module
สิ่งนี้เกิดขึ้นเพราะเรากำลังกดปุ่มคำสั่ง ng บริการในเส้นทางอื่น ๆ ซึ่งสามารถแก้ไขได้โดยการกดปุ่มคำสั่ง ng เสิร์ฟหรือ npm เริ่มบนเส้นทางที่โครงการของเราตั้งอยู่ (ใช้เส้นทางจนกว่าโฟลเดอร์ที่มี src, node_modules ฯลฯ )
F: \ project \ AngularDemo \ AngularDemoapp> ng ทำหน้าที่