Skip to content

ติดตั้ง npm ด้วย fnm

npm (Node Package Manager) จะถูกติดตั้งพร้อมกับ Node.js คู่มือนี้จะแนะนำวิธีการจัดการ npm ผ่าน fnm

ความสัมพันธ์ระหว่าง npm และ fnm

เมื่อคุณติดตั้ง Node.js โดยใช้ fnm, npm จะถูกรวมอยู่ด้วยโดยอัตโนมัติ:

bash
# ติดตั้ง Node.js (รวม npm โดยอัตโนมัติ)
fnm install 20

# ตรวจสอบเวอร์ชัน npm
npm --version

ตรวจสอบเวอร์ชัน npm

bash
# ดูเวอร์ชัน npm ปัจจุบัน
npm --version

# ดูเวอร์ชัน Node.js และ npm
node --version
npm --version

เวอร์ชัน Node.js ที่แตกต่างกันจะตรงกับเวอร์ชัน npm ที่แตกต่างกัน:

Node.jsnpm
20.x10.x
18.x9.x
16.x8.x

อัปเกรด npm

ใช้ npm อัปเกรดด้วยตนเอง

bash
# อัปเกรดเป็นเวอร์ชันล่าสุด
npm install -g npm@latest

# อัปเกรดเป็นเวอร์ชันเฉพาะ
npm install -g npm@10.2.0

สลับเวอร์ชัน Node.js

การสลับเวอร์ชัน Node.js จะสลับเวอร์ชัน npm ด้วย:

bash
# สลับไปยัง Node.js 20
fnm use 20
npm --version  # ผลลัพธ์: 10.x.x

# สลับไปยัง Node.js 18
fnm use 18
npm --version  # ผลลัพธ์: 9.x.x

การจัดการแพ็คเกจทั่วโลกของ npm

ดู path การติดตั้งทั่วโลก

bash
npm config get prefix

ตำแหน่งแพ็คเกจทั่วโลก

แพ็คเกจทั่วโลกของ Node.js ที่จัดการโดย fnm จะอยู่ที่:

~/.fnm/node-versions/<version>/installation/lib/node_modules

ติดตั้งแพ็คเกจทั่วโลก

bash
# ติดตั้งแพ็คเกจทั่วโลก
npm install -g pnpm
npm install -g yarn
npm install -g typescript

# ดูแพ็คเกจทั่วโลก
npm list -g --depth=0

ใช้ Corepack

Corepack เป็นตัวจัดการแพ็คเกจสำหรับ Node.js ที่สามารถจัดการ npm, yarn และ pnpm:

เปิดใช้งาน Corepack

bash
# เปิดใช้งาน Corepack เมื่อติดตั้ง Node.js
fnm install 20 --corepack-enabled

# หรือตั้งค่าตัวแปรสภาพแวดล้อม
export FNM_COREPACK_ENABLED=true
fnm install 20

ใช้ Corepack

bash
# เปิดใช้งาน Corepack
corepack enable

# ใช้ yarn เวอร์ชันเฉพาะ
corepack prepare yarn@stable --activate

# ใช้ pnpm เวอร์ชันเฉพาะ
corepack prepare pnpm@latest --activate

การกำหนดค่า npm

กำหนดค่ากระจก

bash
# ตั้งค่ากระจก npm
npm config set registry https://registry.npmmirror.com

# ดูการกำหนดค่าปัจจุบัน
npm config list

# ฟื้นฟูกระจกค่าเริ่มต้น
npm config set registry https://registry.npmjs.org

กระจกทั่วไป

ซอร์สกระจกURL
npm ทางการhttps://registry.npmjs.org
npmmirrorhttps://registry.npmmirror.com
Tencent Cloudhttps://mirrors.cloud.tencent.com/npm/

การจัดการ npm หลายเวอร์ชัน

เนื่องจาก npm ติดตั้งพร้อมกับ Node.js วิธีการจัดการ npm หลายเวอร์ชันที่ดีที่สุดคือ:

วิธีการ 1: สลับเวอร์ชัน Node.js

bash
# ติดตั้ง Node.js หลายเวอร์ชัน
fnm install 20
fnm install 18

# สลับเวอร์ชัน
fnm use 20  # npm 10.x
fnm use 18  # npm 9.x

วิธีการ 2: อัปเกรด npm อย่างอิสระ

bash
# อัปเกรด npm ในเวอร์ชัน Node.js ปัจจุบัน
npm install -g npm@latest

ปัญหาทั่วไป

ไม่พบคำสั่ง npm

bash
# ยืนยันว่า Node.js ถูกติดตั้งแล้ว
fnm list

# ยืนยันเวอร์ชันที่กำลังใช้
fnm current

# ติดตั้ง Node.js ใหม่
fnm install 20 --use

การติดตั้งแพ็คเกจทั่วโลกล้มเหลว

bash
# เคลียร์แคช npm
npm cache clean --force

# ตรวจสอบสิทธิ์
ls -la ~/.fnm/node-versions/

# ติดตั้งใหม่
npm install -g <package>

เวอร์ชัน npm ไม่ตรงกัน

bash
# ตรวจสอบเวอร์ชัน Node.js
fnm current

# รีเซ็ต npm เป็นเวอร์ชันค่าเริ่มต้น
fnm uninstall <version>
fnm install <version>

แนวทางปฏิบัติที่ดีที่สุด

1. ใช้ package.json engines

ระบุเวอร์ชัน Node.js และ npm ในโปรเจกต์:

json
{
  "engines": {
    "node": ">=18.0.0",
    "npm": ">=9.0.0"
  }
}

2. ใช้ไฟล์ .npmrc

สร้างไฟล์ .npmrc ในโปรเจกต์:

registry=https://registry.npmmirror.com
save-exact=true

3. ล็อกตัวจัดการแพ็คเกจ

ใช้ฟิลด์ packageManager:

json
{
  "packageManager": "npm@10.2.0"
}

ลิงก์ที่เกี่ยวข้อง