'npm' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือไฟล์แบตช์


201

ฉันใหม่สมบูรณ์สำหรับ nodejs ฉันกำลังพยายามให้ nodejs ทำงานบนกล่อง Windows 2008 ของฉันเพื่อติดตั้ง Karma ซึ่งฉันจะใช้สำหรับ TDDing รหัส AngularJs ของฉัน ฉันทำตามขั้นตอนต่อไปแล้ว

  1. ติดตั้งโดยใช้ Chocolatey ==> npm ไม่เป็นที่รู้จัก
  2. ติดตั้งโดยใช้ตัวติดตั้ง nodejs 64- บิตจาก nodejs.org ==> npm ไม่เป็นที่รู้จัก
  3. ในขั้นตอนนี้การวิ่งwhere npmให้ฉันc:\User\<Username>\AppData\Roaming\npmซึ่งไม่มีอะไรในนั้น
  4. ฉันคิดออกว่า nodejs C:\Program Files\nodejsติดตั้งใน การเปิดพรอมต์คำสั่งในไดเรกทอรีนี้จะnpmทำงานได้ดี
  5. ดังนั้นผมจึงเพิ่มC:\Program Files\nodejsการPATHเดียวที่จะได้รับข้อผิดพลาดเดียวกันอีกครั้งว่าnpm is not recognized
  6. หนึ่งในปัญหา github ในที่เก็บ nodejs บอกว่าฉันต้องรีสตาร์ทเครื่องและมันจะแก้ไข แต่นั่นก็ยังไม่ช่วย
  7. ฉันเห็นNode.jsไอคอนในStart -> Programmsเมนูของฉันซึ่งพาฉันไปที่โหนด nodejs แต่ไม่แน่ใจว่าจะทำอย่างไรกับสิ่งนั้น

ฉันพลาดขั้นตอนสำคัญในกระบวนการหรือไม่

แก้ไข

ฉันพบว่าถ้าฉันเปิด "Nodejs command prompt" จากไฟล์โปรแกรมก็จะรู้จัก npm ฉันจะทำให้มันทำงานบนพรอมต์คำสั่งปกติได้อย่างไร

แก้ไข

หลังจากที่nodeฉันเริ่มประสบปัญหาที่คล้ายกันกับโปรแกรมอื่น ฉันโพสต์คำถามนี้ใน superuser และตามที่ถูกต้องโดยคำตอบที่ยอมรับฉันมีใบเสนอราคาเพิ่มเติมPATHซึ่งทำให้เกิดปัญหากับเส้นทางทั้งหมดที่เพิ่มเข้ามาหลังจากการอ้างถึง ฉันมีความรู้สึกว่าบางคนติดตั้ง Chocolatey เพิ่มคำพูดที่หนักใจ แต่ฉันก็ไม่แน่ใจว่าอันไหน


8
หลังจากเพิ่มลงไปPATHคุณได้เริ่มบรรทัดคำสั่งใหม่หรือไม่ PATHถูกโหลดเมื่อเริ่มต้นเซสชันบรรทัดคำสั่งใหม่เท่านั้น
Davin Tryon

ใช่ Davin ฉันได้เริ่มบรรทัดคำสั่งใหม่หลายครั้งแล้ว
Suhas

ฉันได้รับ "C: \ Program Files \ nodejs \" ในระบบของฉันPATHและทุกอย่างทำงานบน Windows 7
Davin Tryon

5
คุณสามารถเปิดพรอมต์คำสั่งใหม่และพิมพ์PATH(กด <enter>) แล้วตรวจสอบอีกครั้งว่าคุณเห็น "C: \ Program Files \ nodejs \" ในนั้นหรือไม่
Davin Tryon

1
ใช่ฉันมีC:\Program Files\nodejsในPATH
Suhas

คำตอบ:


346

เพียงเพิ่ม:

;C:\Program Files\nodejs\

ไปยังจุดสิ้นสุดของตัวแปรพา ธของคุณในส่วน"ตัวแปรผู้ใช้"ของตัวแปรสภาพแวดล้อมในคุณสมบัติของระบบ

หลังจากนั้นให้เปิดพรอมต์คำสั่งของคุณอีกครั้งแล้วพิมพ์

npm

สิ่งนี้น่าจะใช้ได้


4
เหตุผลที่ฉันไม่ยอมรับคำตอบก็เพราะว่าฉันมีทางเข้านั้นแล้ว เหตุผลที่มันไม่ทำงานแตกต่างกัน ฉันได้ยกนิ้วให้สำหรับคำตอบของคุณ
Suhas

4
อัฒภาคแยกตัวแปรผู้ใช้ต่าง ๆ ที่คุณสามารถมี โดยปกติแล้วคุณมีเส้นทางบางส่วนในตัวแปรสภาพแวดล้อมของคุณและเพื่อเพิ่มเส้นทางใหม่ก่อนอื่นคุณต้องแยกจากส่วนที่เหลือโดยเพิ่มเครื่องหมายอัฒภาคก่อนที่เส้นทางที่คุณต้องการเพิ่ม
Breno

2
หาเวลาเพิ่มวิธีการเพิ่ม <code>; C: \ Program Files \ nodejs \ </code> ใน "ตัวแปรผู้ใช้" แชร์สิ่งนี้ด้านล่าง: 1: เปิดหน้าต่างคุณสมบัติของระบบ (เริ่ม -> การตั้งค่า -> แผงควบคุม -> ประสิทธิภาพและการบำรุงรักษา -> ระบบ) 2. เลือกแท็บขั้นสูง 3. คลิกที่ปุ่มตัวแปรสภาพแวดล้อม 4. คลิกปุ่มใหม่ภายใต้ "ตัวแปรผู้ใช้" 5. เพิ่ม "เส้นทาง" และ "; C: \ Program Files \ nodejs \"
เหวิน

6
ตัวติดตั้ง node.js วางตัวแปรพา ธ ไว้แล้วสำหรับฉัน แต่ฉันยังไม่มี npm ในบรรทัดคำสั่ง
MrFox

7
คุณรีบูต @MrFox หรือไม่
Breno

116

อย่าลืมรีบูตเครื่องคอมพิวเตอร์หลังจากติดตั้งโหนด! นั่นทำให้ฉันได้


ไม่แน่ใจว่าคุณต้องการติดตั้งโดยใช้ Chocoletey หรือไม่
Suhas

58
คุณไม่ควรจะต้องรีบูท แต่เพียงปิดเครื่องแล้วเปิดใหม่อีกครั้ง
ปลาดุก

5
รีบูตรีบูตรีบูต!
วันแอนดรูวันที่

@Suhas …ชนะ 10 - พร้อมท์ผู้ดูแลระบบ PS -choco ติดตั้ง nodejs - เริ่มรหัสใหม่…ยังต้องรีบูต
felickz

รหัส VS อัพเดทตัวเอง ต้องรีบูตไม่มีอะไรทำงาน
TDP

33

เพื่ออธิบายคำตอบของ Brenoอย่างละเอียด... สำหรับWindows 7 ขั้นตอนเหล่านี้ใช้ได้สำหรับฉัน:

  1. เปิดแผงควบคุม (คลิกปุ่มเริ่มจากนั้นคลิกแผงควบคุม )
  2. คลิกบัญชีผู้ใช้
  3. คลิกเปลี่ยนตัวแปรสภาพแวดล้อมของฉัน
  4. เลือกเส้นทางและคลิกแก้ไข ...ปุ่ม
  5. ในตอนท้ายของค่าตัวแปรให้เพิ่ม ;C:\Program Files\nodejs
  6. คลิกตกลงในหน้าต่าง "แก้ไขผู้ใช้ตัวแปร" จากนั้นคลิกตกลงในหน้าต่าง "ตัวแปรสภาพแวดล้อม"
  7. เริ่มหน้าต่างพรอมต์คำสั่ง (ปุ่มเริ่มแล้วพิมพ์cmdลงในการค้นหาและกด Enter)
  8. ที่พรอมต์ ( C:\>) พิมพ์npmและกด Enter; ตอนนี้คุณควรเห็นข้อความช่วยเหลือ ( Usage: npm <command>ฯลฯ ) แทนที่จะ " ไม่รู้จัก npm ... "

ตอนนี้คุณสามารถเริ่มใช้ npm !


6
;C:\Program Files(x86)\nodejsในบางระบบก็อาจจะมี
ไกเซอร์


16

อย่าลืมเรียกใช้ cmd ในฐานะผู้ดูแลระบบ


ฉันติดตั้งโหนดภายนอกProgram Filesและแก้ไขปัญหาได้แล้ว ขอบคุณ
พอลลีน

ช่างเป็นเรื่องง่าย ๆ ที่ทุกคนพลาดไป ขอบคุณราอูล คำตอบของคุณคือสุดท้ายไม่ใช่อย่างน้อยและแก้ไขปัญหา คนขอบคุณ
Gaurav khurana

12

ฉันมีปัญหาเดียวกันที่อธิบายโดยAshuแต่นอกจากนั้นรายการ PATH สำหรับ nodejs ถูกยกเลิกโดยแบ็กสแลช:

C:\Program Files\nodejs\

ฉันต้องลบเครื่องหมายแบ็กสแลชสุดท้ายนั้นเพื่อให้สามารถใช้งานได้


1
คุณเขียน 'นอกจากนี้' แต่การเปลี่ยนแปลงเพียงอย่างเดียวที่ฉันต้องทำคือการลบเครื่องหมายสแลชต่อท้ายในตัวแปรสภาพแวดล้อมระบบ Path
Scott Munro

9

ฉันประสบปัญหาเดียวกันนี้และแจ้งให้ทราบว่าหลังจากติดตั้ง node.js มีรายการพา ธ ใหม่ในส่วนตัวแปรผู้ใช้สำหรับ PATH ที่มีค่า -> c: \ User \\ AppData \ Roaming \ npm นอกจากนี้รายการเส้นทางในตัวแปรระบบจะถูกผนวกเข้ากับ -> C: \ Program Files \ nodejs ตอนนี้เนื่องจากตัวแปรผู้ใช้มีการตั้งค่าผ่านระบบคุณมีสองตัวเลือกในการแก้ไขปัญหานี้ ลบพา ธ จากตัวแปรผู้ใช้หรือแก้ไขพา ธ ที่ถูกต้อง (C: \ Program Files \ nodejs) รีสตาร์ท CMD และควรใช้งานได้


7

เพียงดาวน์โหลดและติดตั้ง Node.js จากที่นี่https://nodejs.org/th/

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

คุณไม่ต้องการการกำหนดค่าอื่น ๆ อีกต่อไปตอนนี้คุณสามารถใช้คำสั่งnpmได้ทุกที่


หากติดตั้ง Nodejs สำเร็จและยังคงแสดงข้อความเช่นนี้:

'npm' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือไฟล์แบตช์

ทำตามขั้นตอนด้านล่างสำหรับผู้ใช้ Windows:

  1. ไปที่คุณสมบัติคอมพิวเตอร์ของฉัน
  2. คลิกการตั้งค่าระบบขั้นสูงจากแถบด้านซ้ายของหน้าต่าง
  3. ตอนนี้คุณมีหน้าต่างคุณสมบัติของระบบ คลิกขั้นสูง
  4. จากนั้นคลิกตัวแปรสภาพแวดล้อมปุ่ม
  5. ตอนนี้คุณมีหน้าต่างตัวแปรสภาพแวดล้อม: จากSystem VariableเลือกPath
  6. คลิกแก้ไข
  7. ในตอนท้ายของค่าตัวแปรให้เพิ่ม ;C:\Program Files\nodejs\

    หมายเหตุ : หากคุณติดตั้งnodejsบนไดรฟ์อื่นแล้วโปรดดำเนินการตามนั้น

  8. คลิกตกลงกล่องโต้ตอบที่เปิดอยู่ทั้งหมด

หมายเหตุสำคัญ : "ปิดพรอมต์คำสั่งและรีสตาร์ทอีกครั้ง" (สำคัญมากเพราะถ้าคุณไม่รีสตาร์ทพรอมต์คำสั่งการเปลี่ยนแปลงจะไม่ส่งผล)

ตอนนี้คุณสามารถใช้คำสั่งnpmได้ทุกที่


6

หากคุณใช้รหัส VS ให้ปิดรหัส VS และเปิดอีกครั้ง

ฉันลองปิด Terminal แล้วเปิด Terminal ขึ้นมาใหม่ แต่มันไม่ทำงาน

การเริ่มใช้งาน VS Code อีกครั้ง!


4

มีปัญหาเดียวกันใน Windows 8.1 64 บิต
ปรากฎว่าฉันเจอปัญหานั้นถ้าฉันเริ่มต้น cmd โดยพิมพ์ลงในแถบพา ธ ที่ด้านบนของหน้าต่างโฟลเดอร์
หรือ
เมื่อฉันเลื่อนคลิกขวาในหน้าต่างโฟลเดอร์แล้วเปิดพร้อมรับคำสั่งจากรายการ

เมื่อฉันเรียกใช้ cmd โดยใช้การเรียกใช้หรือเพียงแค่จาก cmd.exe ปฏิบัติการมันทำงาน


4

หากคุณได้รับข้อผิดพลาดนี้ผ่านบัญชีบริการเช่นบริการตัวควบคุม Visual Studio TFS Build หรือบริการพื้นหลังอื่น ๆ ตรวจสอบให้แน่ใจว่าคุณเริ่มบริการใหม่หลังจากติดตั้ง npm เนื่องจากการตั้งค่าสภาพแวดล้อม PATH ใหม่จะไม่ได้รับการดำเนินการโดยกระบวนการที่ดำเนินอยู่ ฉันได้รับข้อผิดพลาดเดียวกันผ่านบริการสร้างของฉัน แต่ฉันได้ติดตั้งและเรียกใช้ npm ในคอนโซล


4

คุณอาจได้รับการตอบกลับแล้ว แต่สิ่งนี้อาจช่วยผู้อื่นเนื่องจากฉันประสบปัญหาเดียวกันเมื่อเร็ว ๆ นี้และนี่คือสิ่งที่ฉันทำ:

  1. ระบุรายการพา ธ ไปยัง PowerShell สำหรับฉันเส้นทางคือC: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. จากนั้นฉันเปิดพร้อมท์คำสั่งพร้อมสิทธิ์การดูแลระบบและคัดลอก

    @powershell -NoProfile -ExecutionPolicy ไม่ จำกัด - คำสั่ง "iex ((วัตถุใหม่ net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && เส้นทาง SET =% PATH%;% ALLUSERSPROFILE% \ chocolatey \ bin

เข้าสู่พรอมต์คำสั่ง

  1. ถัดไปchoco ติดตั้ง nodejs
  2. รีสตาร์ทและทุกอย่างทำงานได้ดี ลองเปิด cmd โดยไม่มีสิทธิ์ของผู้ดูแลระบบและเรียกใช้ npm -v Cheers

3

ฉันพบปัญหานี้เช่นกัน ปรากฎว่า Windows ไม่ได้รับการเสนอราคาเดียวในบรรทัดคำสั่ง ผู้ร้ายเป็นหนึ่งในสคริปต์ของฉัน ฉันเปลี่ยนอัญประกาศเดี่ยวเป็น Escape double quotes:

'npm -s run sass-build'

ถึง

\"npm -s run sass-build\"

3

ฉันกำลังอัปเดตเธรดนี้ด้วยคำตอบใหม่เพราะฉันพบวิธีแก้ปัญหาที่น่าสังเวชของฉันหลังจากไม่น้อยกว่าหนึ่งสัปดาห์ ...

สำหรับผู้ที่ยังคงพบข้อผิดพลาดแม้ว่าพวกเขามีการตั้งค่าเส้นทางของพวกเขาอย่างถูกต้องให้ตรวจสอบตัวแปรเส้นทางของคุณเพื่อให้มีค่า (ค่าเริ่มต้นใน windows 7 +): .COM; .EXE; .BAT; .BD; .VBS; .VBE ; .js; .JSE; .WSF; .WSH; .MSC

ฉันจะตั้งค่าให้เท่านั้น:. ค้างคาวและการเปลี่ยนแปลงแก้ไขปัญหาได้ ฉันสงสัยว่าทำไมไม่มีใครนำเรื่องนี้ขึ้น ...

หวังว่านี่จะช่วยได้!


2

ฉันติดตั้ง nodejs ติดตามAngularJS tutorialนี้ คำสั่ง npm ทำงานเมื่อฉันเปิดหน้าต่าง cmd ใหม่ แต่ไม่ได้อยู่ในหน้าต่างปัจจุบัน
ดังนั้นการแก้ไขคือการปิดและเปิดหน้าต่าง cmd ใหม่ปิดและเปิดหน้าต่าง


2

ฉันพบปัญหานี้เมื่อวันก่อนในเครื่อง Windows 7 ของฉัน ปัญหาไม่ใช่เส้นทางของฉัน แต่ฉันต้องใช้เครื่องหมายทับซ้ายเพื่อหลบหลีกแทนที่จะใช้แบ็กสแลชดังนี้

"scripts": {
    "script": ".\\bin\\script.sh"
}

2

ถ้าแพคเกจที่มีการติดตั้งเรียบร้อยแล้วและยังคงแสดงให้เห็นข้อความ " 'NPM' ไม่ได้รับการยอมรับในฐานะที่เป็นคำสั่งภายในหรือภายนอก operable โปรแกรมหรือแฟ้มชุด. "

  1. คลิกปุ่มเริ่ม windows
  2. มองหา " ALL APPS " คุณจะเห็นคำสั่ง Node.js และ Node.js ที่นั่น
  3. คุณสามารถเรียกใช้พรอมต์คำสั่ง Node.jsในฐานะผู้ดูแลระบบและในไม่ช้ามันจะแสดงข้อความ "สภาพแวดล้อมของคุณได้รับการตั้งค่าสำหรับการใช้ Node.js 6.3.0 (x64) และ npm"

แล้วมันก็ทำงานได้จากที่นั่น ...


1

ฉันติดตั้ง Node.js และในขณะที่พยายามติดตั้ง Ionic และ Cordova โดยใช้รหัสชิ้นนี้:

npm install -g cordova ionic

ฉันพบข้อผิดพลาดด้านบน ฉันเพิ่ม 'C: \ Program Files \ nodejs' ลงในตัวแปรสภาพแวดล้อม 'PATH' ของฉัน แต่ก็ยังไม่สามารถแก้ไขปัญหานี้ได้ ปรากฎว่าตัวแปร PATH ของฉันมีความยาวมากกว่า 2048 ตัวอักษรดังนั้นฉันจึงไม่สามารถเพิ่มเส้นทาง Nodejs ได้ ฉันต้องลบเส้นทางของโปรแกรมอื่นและเพิ่มเส้นทาง Nodejs ปิดและเปิดพรอมต์คำสั่งอีกครั้งและลองติดตั้ง Ionic อีกครั้ง สิ่งนี้ใช้ได้สำหรับฉัน


1

สำหรับฉันเพิ่มเส้นทางไปยัง PATH ไม่ได้ทำเคล็ดลับ ทำงานc:\Program Files\nodejs\nodevars.batแทนมันจะทำงานให้คุณ


1

ในกรณีของฉันที่ทำการทดสอบผ่าน Mocha ฉันพยายามทุกอย่างเพียงเพื่อตระหนักว่าฉันต้องลบเครื่องหมายคำพูดเดี่ยวรอบแท็กสคริปต์ทดสอบของฉันภายใน package.jsonฉันพยายามทุกอย่างเพียงเพื่อให้ตระหนักถึงฉันต้องเอาราคาเดียวทั่วกรณีทดสอบในแท็กสคริปต์ของฉัน

ฉันใช้mochaกรณีทดสอบใน*.test.jsไฟล์ทั้งหมดที่สามารถดูด้านล่าง:

package.json

ก่อน:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

หลังจาก (ลบเครื่องหมายคำพูดเดี่ยว - การทดสอบการใช้งาน npm):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

ทำงานให้ฉันในกรณีที่คนอื่นติดอยู่กับเรื่องนี้


1

หากทุกอย่างดูดี ฉันอยากจะแนะนำให้ตรวจสอบนี้สำหรับ PATHEXT .CMD จะต้องเพิ่ม ป้อนคำอธิบายรูปภาพที่นี่


คำตอบของคุณแก้ไขปัญหาของฉันได้ 100% ขอบคุณ
Gauthier Buttez

0

สำหรับ windows8 คลิกขวาที่คุณสมบัติ pc ของฉันจากนั้นคลิกที่ตัวแปรสภาพแวดล้อมตัวแปรผู้ใช้หรือตัวแปรระบบ >> ใหม่ >> ใส่ชื่อตัวแปรและเส้นทาง: เช่นนี้C:\Program Files\nodejs จากนั้นตกลงตอนนี้เปิด cmd และพิมพ์npmมันจะทำงาน


2
Hi! ยินดีต้อนรับสู่ SO โปรดดูที่ส่วนช่วยเหลือในวิธีการที่จะตอบ สิ่งนี้แตกต่างจากคำตอบที่โพสต์ก่อนหน้านี้อย่างไร มีบางอย่างที่แตกต่างไปจากคำตอบของ @ Luke สำหรับ Windows 7 หรือไม่? ปัญหาที่กล่าวถึง;ในเส้นทางไม่ได้ใช้หรือไม่ หากคุณเพียงแค่ยืนยันว่าใช่คำตอบที่ยอมรับยังคงสามารถใช้งานได้ใน Windows 8 โปรดลองลบคำตอบของคุณและเพิ่มข้อมูลเพื่อแสดงความคิดเห็นในคำตอบที่ยอมรับ หากคุณนำสิ่งใหม่ ๆ มาสู่ตารางโปรดอัปเดตคำตอบของคุณเพื่อสะท้อนถึงสิ่งนั้น ดีที่สุด
wahwahwah

0

ทำตาม 2 ขั้นตอน 1. ดาวน์โหลด nodejs ด้วยตนเองตอนนี้ไปที่เส้นทางเช่น C: \ Program Files \ nodejs \ 2. ถัดไปเพิ่มเส้นทางใหม่เช่นชื่อ: เส้นทางและชื่อตัวแปร: C: \ Program Files \ nodejs \ คลิกตกลงและปิด cmd prompt เปิดใหม่และพิมพ์ npm ในพรอมต์


0

ตรวจสอบการกำหนดค่า npm ตามคำสั่ง:

npm config list

ต้องการคุณสมบัติ: "prefix", global "prefix" และ "node bin location"

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

ในกรณีนี้จำเป็นต้องเพิ่มพา ธ เหล่านี้ไปยังจุดสิ้นสุดของตัวแปรสภาพแวดล้อม PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;

0

หากคุณใช้ ms build tools เพื่อติดตั้งโหนดพา ธ อยู่ที่นี่:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs

-2

เราจำเป็นต้องติดตั้ง nodejs และไม่ต้องทำอะไรอีกแล้วแค่ใช้ command prompt และเปลี่ยนไดเร็กตอรี่เป็นโปรเจ็กต์ที่คุณต้องการติดตั้ง npm แล้วใช้คำสั่ง npm install มันได้ผลสำหรับฉัน

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