ไม่รู้จักคำว่า 'ng' เป็นชื่อของ cmdlet


107

วันนี้ในขณะที่ทำงานผ่าน AngularJS Intro พื้นฐานบางอย่างฉันพบปัญหา

ฉันเปิด PowerShell เพื่อเริ่มโครงการ NPM ทำงาน

ฉันสามารถติดตั้ง Angular โดยใช้:

npm install -g @angular/cli

ทุกครั้งที่ฉันพยายามรัน ng ฉันจะได้รับ:

the term 'ng' is not recognized as the name of a cmdlet

2
ทำในโหมด" Run as Administrator "
Pedram Ahmadpour

ฉันพยายามทุกอย่างที่นี่เพื่อไม่ให้เกิดประโยชน์ ฉันยังต้องวิ่งnpm install -g @angular/cliแล้วมันก็ทำงาน
Jnr

AngularJS ที่คุณใช้อยู่จริงๆหรือเปล่า? ในปี 2560 คุณอาจใช้ Angular (ไม่มี JS)
LosManos

คำตอบ:


125

เส้นทางแรกในตัวแปรเส้นทางต้องเป็นเส้นทาง NPM เมื่อเปิดพรอมต์คำสั่ง Node.js ฉันพบว่าคำสั่ง ng ทำงานที่นั่น ฉันขุดเข้าไปในทางลัดและพบว่ามันอ้างอิงคำสั่งเพื่อให้แน่ใจว่าตัวแปร Path แรกคือ NPM เพื่อแก้ไข:

  1. คลิกขวาที่คอมพิวเตอร์ของฉัน (windows)
  2. การตั้งค่าระบบขั้นสูงที่เลือก
  3. คลิก "ตัวแปรสภาพแวดล้อม"
  4. ภายใต้ตัวแปร "เส้นทาง" กำหนดค่า FIRST ไว้ในรายการ %AppData%\npm

เมื่อฉันทำเช่นนั้นฉันสามารถปิด powershell และเปิดใหม่ได้และทุกอย่างก็ใช้ได้


หลังจากทำตามขั้นตอนข้างต้น "ng -v" ทำงาน แต่ "ng build" ไม่ทำงาน กำลังให้ข้อผิดพลาดนี้ "ดูเหมือนว่าคุณจะไม่ได้ขึ้นอยู่กับ" @ angular / core "นี่เป็นข้อผิดพลาด"
PSR

6
นอกจากนี้คุณยังสามารถข้ามทั้งหมดนี้ได้ในหลาย ๆ กรณีโดยพิมพ์ "npm run ng .... " โดยปกติแล้ว Npm จะยังคงทำงานใน powershell โดยไม่มีการเปลี่ยนแปลงและ "npm run" จะช่วยให้คุณใช้คำสั่ง ng ได้
SmoveBB

มันได้ผลสำหรับฉัน ฉันแค่อยากเข้าใจว่าทำไมเราถึงได้รับข้อผิดพลาดมอกหลังจากติดตั้ง nodejs ซึ่งอยู่ในเส้นทางแล้ว
Saroj Kumar Sahoo

สวัสดีไม่ได้ผลสำหรับฉัน .. หากใครสามารถช่วยฉันใน skype หรือซูมได้โปรด ..... ฉันพยายามตั้งแต่สองสามวัน แต่ไม่สามารถแก้ได้ ... ได้โปรด
Laxminarayan Charan

1
@LaxminarayanCharan "ถ้าใครสามารถช่วยฉันใน skype หรือซูม"ไม่ใช่คำขอที่เหมาะสมสำหรับ SO ถ้าคุณมีปัญหาเฉพาะการใช้ข้อมูลที่มีอยู่แล้วในเว็บไซต์นี้ถามคำถามใหม่ที่มีตัวอย่างที่สามารถทำซ้ำได้น้อยที่สุด
jonrsharpe

84

ขั้นแรกให้ตั้งค่า Node.js จากนั้นไปที่โฟลเดอร์โครงการของคุณด้วยพรอมต์คำสั่งเช่น D: \ project จากนั้นเรียกใช้คำสั่งนี้:

npm install -g @angular/cli

ตอนนี้รันคำสั่ง ng งานนี้สำหรับฉัน


5
-gย่อมาจากทั่วโลก หากคุณกำลังติดตั้งทั่วโลกก็ไม่สำคัญว่าคุณจะอยู่ใน D: \ vs D: \ project เมื่อคุณเรียกใช้คำสั่งนี้ คำเตือนอย่างหนึ่งคือนี่อาจไม่ใช่สิ่งที่คุณต้องการหากคุณต้องการใช้ angular / cli เวอร์ชันต่างๆสำหรับโครงการต่างๆ
mattliu

นี่เป็นคำตอบที่ถูกต้องอย่างแน่นอนหากไม่ได้ติดตั้ง angular / cli
caras

20

ใน "ตัวแปรสภาพแวดล้อม"

ในส่วน "ตัวแปรระบบ"

ในตัวแปร "Path" และก่อน"C:\Program Files (x86)\nodejs\"add =>"%AppData%\npm"


1
สิ่งที่ต้องการ .. ขอบคุณมาก
Md Faraz

ทำงานให้ฉันขอบคุณ. มี.npmrcไฟล์ที่prefixตั้งค่าเป็นเส้นทาง AppData
Ananthapadmanabhan

12

วิธีแก้ปัญหาสำหรับฉัน:

เพิ่มเส้นทางไปยังตัวแปรสภาพแวดล้อมของคุณ

C:\Users\YourPcName\AppData\Roaming\npm

เช่นเดียวกับโฟลเดอร์ bin ของไฟล์เชิงมุม [นำเสนอตัวมันเอง]

C:\Users\YoutPcName\AppData\Roaming\npm\node_modules\angular-cli\bin

จากนั้นเรียกใช้ ng -v มันจะปรากฏขึ้น cli gui เชิงมุมในพรอมต์คำสั่งของคุณ หมายเหตุหลังจากรันnpm i -g @angular/cliแล้วให้รีสตาร์ทพรอมต์คำสั่งของคุณและตรวจสอบว่าทำงานได้หรือไม่ล้างแคชและทำซ้ำขั้นตอนข้างต้น


หลังจากดำเนินการ "ng install -g @ angular / cli" ฉันควรจะต้องตั้งค่าตัวแปร AppData ที่เส้นทาง ขอบคุณตอนนี้ฉันสามารถทำงานได้อย่างราบรื่น
Napster

ได้ผลสำหรับฉันปิดและรีสตาร์ท VSCode
Hanz Cheah

8

ฉันใช้สิ่งต่อไปนี้:

npm run ng serve

มันใช้งานได้สำหรับฉันโดยไม่จำเป็นต้องตั้งค่าตัวแปรสภาพแวดล้อม

ฉันต้องติดตั้ง typescript หลังจากนั้น:

npm install typescript@">=3.4 <3.6"

สิ่งที่ฉันต้องการ มันใช้งานได้สำหรับฉันหลังจากรัน npm run ng serve
Joginder Malik


7

การเปลี่ยนนโยบายเป็นไม่ จำกัด ใช้ได้ผลสำหรับฉัน:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

ขอบคุณ ... นี่คือสิ่งที่ฉันชอบเหนือคำตอบทั้งหมดที่ให้ไว้ในแบบสอบถามนี้ เนื่องจากการแก้ปัญหาทั้งหมดมีผลของมันเอง
Parth Devloper

4

หากชื่อโครงการของคุณมี "-" ลบออกและลอง ซึ่งอาจทำให้เกิดปัญหาในการเรียกใช้ 'ng'


3

ผมได้รับข้อผิดพลาดในขณะที่ทำVisual Studio Code ng-buildการเรียกใช้คำสั่งด้านล่างใน cmd แก้ไขปัญหาของฉัน

npm install -g @angular/cli@latest

2

เปิดแก้ไขตัวแปรสภาพแวดล้อมระบบ

ในตัวแปร "เส้นทาง" และ "เส้นทางโมดูล PS" ให้เพิ่ม "% AppData% \ npm"

เรียกใช้ Visual Code ในฐานะผู้ดูแลระบบ

ได้ผลสำหรับฉัน!


2

คุณเพียงแค่ต้องปิดรหัสสตูดิโอภาพและรีสตาร์ทอีกครั้ง แต่เพื่อให้คำสั่ง ng ทำงานใน vs code ก่อนอื่นคุณต้องคอมไพล์โครงการด้วย cmd ในโหมดผู้ดูแลระบบ

ฉันก็ประสบปัญหาเดียวกัน แต่วิธีนี้แก้ไขได้


2

คำตอบทั้งหมดเกี่ยวกับวิธีแก้ไข แต่วิธีที่ดีที่สุดคือดาวน์โหลด nodeJs และปล่อยให้ตัวติดตั้งเพิ่มตัวแปร PATH

เวอร์ชัน 12 และ 13 ใหม่เกินไปฉันจึงต้องดาวน์โหลด 11.15 https://nodejs.org/download/release/v11.15.0/


1

แทนที่จะให้คำสั่ง "ng serve" ในเทอร์มินัลโค้ด Visual Studio ให้เปิดพา ธ แอปเชิงมุมในพรอมต์คำสั่ง (เรียกใช้ในฐานะผู้ดูแลระบบ)

จากนั้นให้คำสั่ง "ng serve"

จากนั้นเปิดเบราว์เซอร์และไปที่http: // localhost: 4200 /

มันใช้ได้กับฉัน


1

คุณควรอัปเดตโหนด js เป็นเวอร์ชันล่าสุด มิฉะนั้นให้ถอนการติดตั้งโหนด js และติดตั้งใหม่อีกครั้ง


1

สคริปต์ powershell นี้ทำงานเพื่อเพิ่มการตั้งค่าที่ถูกต้องให้กับ "เส้นทาง" ตัวแปรสภาพแวดล้อมของฉัน (เป็นการตั้งค่าต่อผู้ใช้) โดยจะเพิ่ม:% AppData% \ npm ... จากนั้นเริ่มบรรทัดคำสั่งที่ใช้ "ng" ใหม่

   $existingPath = [System.Environment]::GetEnvironmentVariable("Path","User")      
   write-host "existing PATH variable is $existingPath"                                          
   $newPath = "%AppData%\npm;$existingPath"                                          
   write-host "new      PATH will be     $newPath"                                               

   # update here                                                                                      
   [System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")           

   $finalPath = [System.Environment]::GetEnvironmentVariable("Path","User")         
   write-host "final    PATH variable is $finalPath"                                             

ทำงานตามที่อธิบายไว้
koosk

1

ฉันแก้ไขโดยทำตามขั้นตอนด้านล่างนี้

1. คลิกขวาที่พร้อมรับคำสั่ง 2. เรียกใช้ในฐานะผู้ดูแลระบบ 3. พิมพ์ npm install -g @ angular / cli


1
คุณไม่ควรติดตั้งแพ็คเกจ npm ทั่วโลก
Tarick Welling

@TarickWelling โปรดระบุข้อโต้แย้งสนับสนุนสำหรับคำแถลงของคุณ
Jacob-Jan Mosselman

แล้วทำไม -g ถึงมีอยู่? แล้วคุณจะได้เครื่องมือ CLI ที่ไม่มี -g ได้อย่างไร?
tpartee

1

1) คลิกขวาบน My Computer (windows) 2) การตั้งค่าระบบขั้นสูงที่เลือก 3) คลิก "ตัวแปรสภาพแวดล้อม" 4) ภายใต้ตัวแปร "เส้นทาง" ทำให้ค่า FIRST แสดงรายการ% AppData% \ npm

เริ่มแรก : C: \ Program Files \ Microsoft MPI \ Bin \;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ TortoiseSVN \ bin;

หลังจากเพิ่มเส้นทาง : C: \ Program Files \ Microsoft MPI \ Bin \; % AppData% \ npm; % SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ TortoiseSVN \ bin;

อีกหนึ่งสิ่งที่คุณสามารถลองได้หากยังเกิดข้อผิดพลาดดังต่อไปนี้ 1) ไปที่ตำแหน่งโปรเจ็กต์ผ่านพรอมต์คำสั่ง: C: \ Users \ brijeshray \ ParentChild> 2) ติดตั้งใหม่หรืออัปเดตเชิงมุมที่มีอยู่เป็น: npm install -g @ angular / cli @ล่าสุด

3) ไปที่คอมพิวเตอร์หรือพีซี -> คุณสมบัติ -> การตั้งค่าระบบขั้นสูง -> ตัวแปรสภาพแวดล้อม -> เพิ่มเส้นทางด้านล่าง "ตัวแปรผู้ใช้" (ถ้าไม่มี "เส้นทาง") ==> C: \ Users \ brijeshray \ AppData \ Roaming \ npm -> บันทึกและรีสตาร์ทรหัสภาพใส่คำอธิบายภาพที่นี่


1

แก้ไข: การเรียกใช้สคริปต์ถูกปิดใช้งานในระบบนี้

เปิด Powershell

    ตั้งค่า ExecutionPolicy RemoteSigned
    ก

(A: ใช่สำหรับทุกคน)

เสร็จแล้ว!


1

สำหรับVSCode Terminal ครั้งแรกเปิดcmdและติดตั้งangular-cliเป็นส่วนกลาง

npm install -g @angular/cli

จากนั้นอัปเดตตัวแปรสภาพแวดล้อมของคุณตามขั้นตอนนี้

  1. win + s // ซึ่งจะเปิดช่องค้นหา
  2. พิมพ์ Edit Environment Variables
  3. เปิดตัวแปรสภาพแวดล้อม
  4. เพิ่ม%AppData%\npmภายในPATH
  5. คลิกOKและปิด

ตอนนี้คุณสามารถรีสตาร์ทได้VSCodeแล้วและจะใช้งานได้ตามปกติ



0

คุณยังสามารถตรวจสอบให้แน่ใจว่าคุณเรียกใช้พรอมต์คำสั่งหรือเทอร์มินัลที่คุณใช้ในฐานะผู้ดูแล ฉันใช้ Visual Studio Code และng serveคำสั่งให้ข้อผิดพลาดที่แน่นอนเมื่อไม่เรียกใช้ VS Code ในฐานะผู้ดูแลระบบ





0

จากคำตอบข้างต้นนี่คือการรวม

  1. รันคำสั่ง npm install -g @angular/cli@project_version
  2. เพิ่มเส้นทางด้านล่างให้กับตัวแปรสภาพแวดล้อมของคุณ -> ตัวแปรระบบ -> เส้นทาง(ซึ่งจำเป็นต้องมีการเข้าถึงของผู้ดูแลระบบ) (ซึ่งเข้าถึงผู้ดูแลระบบจะต้อง)

    C: \ Users \ YourPcAccountName \ AppData \ Roaming \ npm C: \ Users \ YoutPcAccountName \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin ตรวจสอบให้แน่ใจว่าค่าแรกแสดงรายการเป็น %AppData%\npm

  3. ng serveเปิดคำสั่งของคุณรวดเร็วจากโฟลเดอร์โครงการและการทำงานของคุณ

0

ฉันรันคำสั่ง 'ng serve' ในพรอมต์คำสั่ง รวบรวมโครงการเรียบร้อยแล้ว จากนั้นการเปลี่ยนแปลงใด ๆ ที่บันทึกไว้ใน VS Code จะถูกรีเฟรชโดยอัตโนมัติในเบราว์เซอร์

PS: ฉันได้ติดตั้งเชิงมุมทั่วโลกแล้ว


0

นอกจากนี้คุณสามารถรันคำสั่งต่อไปนี้เพื่อแก้ไข npm install -g @ angular / cli


0

โปรดตรวจสอบด้วยว่ามีโฟลเดอร์ node_modules อยู่ในไดเร็กทอรีโปรเจ็กต์ด้วย หากไม่มีคุณจะได้รับปัญหาที่คล้ายกัน ดังนั้นโปรดเรียกใช้การติดตั้ง npm ด้วย


0

แม้ว่าจะได้รับคำตอบที่ถูกต้องแล้วก็ตาม. แต่สิ่งเหล่านี้ไม่ได้ผลสำหรับฉันเพราะ:

  • ชื่อผู้ใช้ของฉันไม่มีสิทธิ์ระดับผู้ดูแลระบบและฉันไม่สามารถอัปเดตตัวแปรสภาพแวดล้อมตามที่แนะนำในคำตอบ

ดังนั้นสำหรับคุณทุกคนที่ประสบปัญหาเดียวกันกับฉันนี่คือสิ่งที่ฉันทำ:

แทน ng serve

ฉันคัดลอกเส้นทางตำแหน่งที่สมบูรณ์ของngสิ่งต่อไปนี้และใช้งานได้ ดังนั้นng serveคำสั่งจึงกลายเป็น:

C:\Users\MyUserName\AppData\Roaming\npm\ng.cmd serve


0

การตั้งค่าระบบขั้นสูงที่เลือก ป้อนคำอธิบายภาพที่นี่ คลิก "ตัวแปรสภาพแวดล้อม" ป้อนคำอธิบายภาพที่นี่ ภายใต้ตัวแปร "เส้นทาง" ทำให้ค่า FIRST แสดงรายการ% AppData% \ npm ป้อนคำอธิบายภาพที่นี่ ฉันทำเช่นนั้นปิด powershell แล้วเปิดใหม่ ทำงานทั้งหมด

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