คำถามที่พบบ่อยเกี่ยวกับ nvm-windows (FAQ)
ปัญหาทั่วไปและวิธีแก้ไขเมื่อติดตั้ง NVM NVM (Node Version Manager) เป็นเครื่องมือสำหรับจัดการเวอร์ชัน Node.js แต่คุณอาจพบปัญหาบางอย่างระหว่างการติดตั้งและการใช้งาน บทความนี้สรุปปัญหาทั่วไปที่คุณอาจพบเมื่อติดตั้ง NVM และให้วิธีแก้ไขโดยละเอียด
ปัญหาทั่วไป
- ไม่ได้ถอนการติดตั้ง Node.js ก่อนติดตั้ง nvm ทำให้ node และ npm ไม่สามารถใช้งานได้หลังจากติดตั้ง nvm
- หลังจากติดตั้ง Node.js ด้วย nvm เป็นครั้งแรก อย่าลืมใช้
nvm useเพื่อสลับเวอร์ชัน Node.js และnvm onเพื่อเปิดใช้งานการควบคุมเวอร์ชัน Node.js มิฉะนั้น node และ npm จะไม่สามารถใช้งานได้
- หลังจากติดตั้ง Node.js ด้วย nvm เป็นครั้งแรก อย่าลืมใช้
- หลังจากติดตั้ง npm ทั่วโลกแล้ว คุณต้องปิดหน้าต่างเทอร์มินัลและเปิดใหม่ก่อนจึงจะสามารถติดตั้ง cnpm ได้
- เมื่อเลือกโฟลเดอร์การติดตั้งสำหรับ nvm ให้หลีกเลี่ยงชื่อโฟลเดอร์ที่มีอักขระภาษาจีนหรือช่องว่าง
คำสั่ง NVM ไม่ถูกจดจำใน PowerShell
โดยค่าเริ่มต้น คำสั่ง NVM สามารถใช้ได้เฉพาะใน Command Prompt (CMD) และไม่ถูกจดจำโดยตรงใน PowerShell เนื่องจากนโยบายการรันของ PowerShell จำกัดการรันสคริปต์
คำอธิบายปัญหา:
เมื่อป้อนคำสั่ง nvm ใน PowerShell มันจะแสดง "command not recognized"
วิธีแก้ไข:
- ตรวจสอบนโยบายการรันปัจจุบัน:
ป้อนคำสั่งต่อไปนี้ใน PowerShell เพื่อตรวจสอบนโยบายการรันของผู้ใช้ปัจจุบัน
Get-ExecutionPolicy -List- แก้ไขนโยบายการรัน: เปลี่ยนนโยบายการรันของผู้ใช้ปัจจุบันเป็น RemoteSigned เพื่ออนุญาตให้รันสคริปต์ท้องถิ่น:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser- ตรวจสอบว่าทำงานหรือไม่: เปิด PowerShell ใหม่และลองรันคำสั่ง nvm เพื่อยืนยันว่าทำงานหรือไม่
ข้อผิดพลาดหลังจากติดตั้ง Node.js
หลังจากติดตั้ง nvm แล้ว หากคุณพบว่าคุณไม่สามารถใช้เวอร์ชัน Node.js บางเวอร์ชันและได้รับข้อผิดพลาด คุณอาจไม่สามารถใช้คำสั่ง npm ได้ อาจเป็นเพราะ Node.js ถูกติดตั้งระหว่างกระบวนการดาวน์โหลด แต่การติดตั้ง npm ล้มเหลว
วิธีแก้ไข:
- ดาวน์โหลดแพ็กเกจบีบอัด Node.js โดยตรงจากเว็บไซต์อย่างเป็นทางการของ Node.js
- ถอนการติดตั้งเวอร์ชัน Node.js และติดตั้งใหม่ นั่นคือ รัน
nvm uninstall xxxxแล้วรันnvm install xxxอีกครั้ง - ลองติดตั้งเวอร์ชัน Node.js อื่น
nvm use ไม่ทำงาน
สร้างโฟลเดอร์ node.js ในไดเรกทอรี nvm (หมายเหตุ: เราต้องแก้ไขคุณสมบัติของโฟลเดอร์ nvm และโฟลเดอร์ nodejs ตั้งค่าสิทธิ์ควบคุมเต็มในแท็บ "Properties -> Security")
ปัญหาที่ node -v ไม่ทำงาน
แก้ไขพารามิเตอร์เส้นทางตัวแปรสภาพแวดล้อม โดยให้ NVM_SYMLINK ชี้ไปยังเส้นทาง node.js ที่สร้างใหม่ (ดังที่แสดงในภาพด้านล่าง มี 2 ที่ ด้านบนและด้านล่าง) 
ความแตกต่างระหว่าง NVM และการติดตั้ง Node.js โดยตรงคืออะไร?
NVM ช่วยให้คุณสามารถติดตั้งและจัดการหลายเวอร์ชันของ Node.js บนระบบเดียวกัน ในขณะที่การติดตั้ง Node.js โดยตรงอนุญาตให้มีเพียงเวอร์ชันเดียว ด้วย NVM คุณสามารถสลับระหว่างเวอร์ชันต่างๆ ได้อย่างง่ายดาย ซึ่งมีประโยชน์สำหรับการทดสอบความเข้ากันได้หรือทำงานกับโปรเจกต์ที่ต้องการเวอร์ชัน Node.js เฉพาะ
NVM ข้ามแพลตฟอร์มหรือไม่?
NVM ดั้งเดิม (nvm-sh/nvm) ออกแบบมาเป็นหลักสำหรับระบบ Unix (Linux, macOS) สำหรับ Windows มีการใช้งานแยกต่างหากที่เรียกว่า nvm-windows ซึ่งให้ฟังก์ชันการทำงานที่คล้ายกันแต่ไม่เหมือนกัน มีความแตกต่างเล็กน้อยในคำสั่งและพฤติกรรมระหว่างทั้งสอง
ฉันควรเลือกเวอร์ชัน NVM ใด?
- หากคุณใช้ Windows คุณควรเลือก nvm-windows
- หากคุณใช้ Linux หรือ macOS คุณควรเลือก nvm-sh/nvm ดั้งเดิม
- หากคุณใช้ WSL (Windows Subsystem for Linux) บน Windows คุณควรติดตั้ง nvm-sh/nvm ดั้งเดิมในสภาพแวดล้อม WSL
ปัญหาการติดตั้ง
"Runtime Error R6034" หลังจากติดตั้ง NVM บน Windows
ข้อผิดพลาดนี้มักเกี่ยวข้องกับความขัดแย้งของ Visual C++ runtime ลองวิธีแก้ไขต่อไปนี้:
- ติดตั้ง nvm-windows ใหม่
- ตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันล่าสุดของแพ็กเกจ Visual C++ Redistributable
- ลองรันพรอมต์คำสั่งในฐานะผู้ดูแลระบบ
การติดตั้งช้าหรือล้มเหลวโดยใช้แหล่งที่มาภายในประเทศ
หากคุณอยู่ในจีนแผ่นดินใหญ่ คุณอาจต้องตั้งค่าแหล่งมิเรอร์:
เวอร์ชัน Windows
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/