Skip to content

คำถามที่พบบ่อยเกี่ยวกับ nvm-windows (FAQ)

ปัญหาทั่วไปและวิธีแก้ไขเมื่อติดตั้ง NVM NVM (Node Version Manager) เป็นเครื่องมือสำหรับจัดการเวอร์ชัน Node.js แต่คุณอาจพบปัญหาบางอย่างระหว่างการติดตั้งและการใช้งาน บทความนี้สรุปปัญหาทั่วไปที่คุณอาจพบเมื่อติดตั้ง NVM และให้วิธีแก้ไขโดยละเอียด

ปัญหาทั่วไป

    1. ไม่ได้ถอนการติดตั้ง Node.js ก่อนติดตั้ง nvm ทำให้ node และ npm ไม่สามารถใช้งานได้หลังจากติดตั้ง nvm
    1. หลังจากติดตั้ง Node.js ด้วย nvm เป็นครั้งแรก อย่าลืมใช้ nvm use เพื่อสลับเวอร์ชัน Node.js และ nvm on เพื่อเปิดใช้งานการควบคุมเวอร์ชัน Node.js มิฉะนั้น node และ npm จะไม่สามารถใช้งานได้
    1. หลังจากติดตั้ง npm ทั่วโลกแล้ว คุณต้องปิดหน้าต่างเทอร์มินัลและเปิดใหม่ก่อนจึงจะสามารถติดตั้ง cnpm ได้
    1. เมื่อเลือกโฟลเดอร์การติดตั้งสำหรับ nvm ให้หลีกเลี่ยงชื่อโฟลเดอร์ที่มีอักขระภาษาจีนหรือช่องว่าง

คำสั่ง NVM ไม่ถูกจดจำใน PowerShell

โดยค่าเริ่มต้น คำสั่ง NVM สามารถใช้ได้เฉพาะใน Command Prompt (CMD) และไม่ถูกจดจำโดยตรงใน PowerShell เนื่องจากนโยบายการรันของ PowerShell จำกัดการรันสคริปต์

คำอธิบายปัญหา:

เมื่อป้อนคำสั่ง nvm ใน PowerShell มันจะแสดง "command not recognized"

วิธีแก้ไข:

  1. ตรวจสอบนโยบายการรันปัจจุบัน:

ป้อนคำสั่งต่อไปนี้ใน PowerShell เพื่อตรวจสอบนโยบายการรันของผู้ใช้ปัจจุบัน

powershell
Get-ExecutionPolicy -List
  1. แก้ไขนโยบายการรัน: เปลี่ยนนโยบายการรันของผู้ใช้ปัจจุบันเป็น RemoteSigned เพื่ออนุญาตให้รันสคริปต์ท้องถิ่น:
powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. ตรวจสอบว่าทำงานหรือไม่: เปิด PowerShell ใหม่และลองรันคำสั่ง nvm เพื่อยืนยันว่าทำงานหรือไม่

ข้อผิดพลาดหลังจากติดตั้ง Node.js

หลังจากติดตั้ง nvm แล้ว หากคุณพบว่าคุณไม่สามารถใช้เวอร์ชัน Node.js บางเวอร์ชันและได้รับข้อผิดพลาด คุณอาจไม่สามารถใช้คำสั่ง npm ได้ อาจเป็นเพราะ Node.js ถูกติดตั้งระหว่างกระบวนการดาวน์โหลด แต่การติดตั้ง npm ล้มเหลว

วิธีแก้ไข:

  1. ดาวน์โหลดแพ็กเกจบีบอัด Node.js โดยตรงจากเว็บไซต์อย่างเป็นทางการของ Node.js
  2. ถอนการติดตั้งเวอร์ชัน Node.js และติดตั้งใหม่ นั่นคือ รัน nvm uninstall xxxx แล้วรัน nvm install xxx อีกครั้ง
  3. ลองติดตั้งเวอร์ชัน Node.js อื่น

nvm use ไม่ทำงาน

สร้างโฟลเดอร์ node.js ในไดเรกทอรี nvm (หมายเหตุ: เราต้องแก้ไขคุณสมบัติของโฟลเดอร์ nvm และโฟลเดอร์ nodejs ตั้งค่าสิทธิ์ควบคุมเต็มในแท็บ "Properties -> Security")

ปัญหาที่ node -v ไม่ทำงาน

แก้ไขพารามิเตอร์เส้นทางตัวแปรสภาพแวดล้อม โดยให้ NVM_SYMLINK ชี้ไปยังเส้นทาง node.js ที่สร้างใหม่ (ดังที่แสดงในภาพด้านล่าง มี 2 ที่ ด้านบนและด้านล่าง) image

ความแตกต่างระหว่าง 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 ลองวิธีแก้ไขต่อไปนี้:

  1. ติดตั้ง nvm-windows ใหม่
  2. ตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันล่าสุดของแพ็กเกจ Visual C++ Redistributable
  3. ลองรันพรอมต์คำสั่งในฐานะผู้ดูแลระบบ

การติดตั้งช้าหรือล้มเหลวโดยใช้แหล่งที่มาภายในประเทศ

หากคุณอยู่ในจีนแผ่นดินใหญ่ คุณอาจต้องตั้งค่าแหล่งมิเรอร์:

เวอร์ชัน Windows

bash
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/

NVM - Node Version Manager สำหรับ Windows, Linux และ macOS