การใช้งาน NPM สำหรับติดตั้งและจัดการแพ็กเกจ บน Node.js

14 April 2021

ในบทก่อนหน้า เราได้แนะนำให้คุณรู้กับ npm ไปแล้ว ในบทนี้ จะพูดถึงการใช้งานคำสั่งต่างๆ ของ npm เพื่อติิดตั้ง อัพเดท และลบแพ็กเกจจาก npm Registry ซึ่งเป็นคำสั่งพื้นฐานที่จำเป็นต้องทราบเพื่อใช้งาน npm สำหรับจัดการกับแพ็กเกจของภาษา JavaScript บน Node.js นี่เป็นเนื้อหาในบทนี้

  • ทำความรู้จักกับคลังแพ็กเกจของ npm
  • การสร้างโปรเจ็คด้วย npm init
  • การติดตั้งแพ็กเกจด้วยคำสั่ง npm install
  • ตัวอย่างการใช้งานไลบรารี Lodash & Express.js
  • การติดตั้งแพ็กเกจแบบระบุเวอร์ชัน
  • การดูรายชื่อแพ็กเกจด้วย npm ls
  • การตรวจสอบแพ็กเกจด้วย npm outdated
  • การอัพเดทแพ็กเกจด้วย npm update
  • การถอนการติดตั้งแพ็กเกจด้วย npm uninstall

ทำความรู้จักกับคลังแพ็กเกจของ npm

NPM มีคลังของแพ็กเกจที่เรียกว่า npm Registry (npmjs.com) ซึ่งเป็นศูนย์กลางไลบรารีของภาษา JavaScript ที่คุณสามารถนำมาใช้งานในโปรเจ็คได้ฟรี และนอกจากนี้คุณยังสามารถเผยแพร่ไลบรารีของคุณเพื่อแบ่งปันให้นักพัฒนาคนอื่นๆ เพื่อนำไปใช้งานในโปรเจ็คของพวกเขาได้อีกด้วย

ในการเขียนโปรแกรมบน Node.js ก่อนนำแพ็กเกจหรือไลบรารีอื่นมาใช้งานในโปรเจ็ค คุณต้องทราบชื่อของแพ็กเกจที่ต้องการนำมาใช้ก่อนซึ่งสามารถค้นหาได้จาก npm Registry ปัจจุบันมีแพ็กเกจนับล้านที่ถูกเผยแพร่บน npm นั่นหมายความว่ามีไลบรารีจำนวนมากที่คุณอาจสามารถหาได้เพื่อนำมาใช้ในโปรเจ็คโดยที่ไม่ต้องเขียนเอง

ทุกแพ็กเกจบน npm ถูกเขียนด้วยภาษา JavaScript และบางแพ็กเกจอาจมีการใช้ API ของ Node.js และหรือมีการใช้งานแพ็กเกจอื่นๆ ในตัวมัน ยกตัวอย่างเช่น แพ็กเกจ express ได้มีการใช้งานแพ็กเกจ accepts, array-flatten, body-parser เพื่อทำงาน ดังนั้นเราเรียกแพ็กเกจเหล่านี้ว่าเป็น Dependencies ของแพ็กเกจ express

ดังนั้นเมื่อคุณนำแพ็กเกจใดๆ จาก npm มาใช้งานในโปรเจ็ค แพ็กเกจเหล่านั้นจะกลายมาเป็น Dependencies ของโปรเจ็คของคุณ อย่างไรก็ตาม คุณสามารถเขียนทุกอย่างได้ด้วยตัวเองโดยไม่ใช้แพ็กเกจอื่นๆ และถ้าหากคุณเลือกที่จะทำเช่นนั้น คุณไม่จำเป็นต้องเรียนรู้เกี่ยวกับ npm และนั่นไม่ใช่วัตถุประสงค์ของบทเรียนนี้

ในบทนี้ เราจะยกตัวอย่างการใช้งานสองแพ็กเกจเพื่อแสดงการใช้งานคำสั่ง npm สำหรับการติดตั้ง การอัพเดท และการลบแพ็กเกจเพื่อใช้งานในโปรเจ็ค นั่นคือแพ็กเกจ lodash และ express ซึ่งเป็นแพ็กเกจที่ได้รับความนิยมเป็นอย่างมากบน npm

  • Lodash: เป็นแพ็กเกจที่ประกอบไปด้วยฟังก์ชันอำนวยความสะดวกต่างๆ ในการเขียนโปรแกรมภาษา JavaScript
  • Express.js: เป็นแพ็กสำหรับสร้างเว็บเซิร์ฟเวอร์และเป็นเว็บเฟรมเวิร์กสำหรับเว็บแอพพลิเคชันที่ทำงานภายใต้ Node.js API

สำหรับรายละเอียดการใช้งานของแต่ละแพ็กเกจ คุณสามารถดูได้ที่หน้าของแพ็กเกจบน npm

การสร้างโปรเจ็คด้วย npm init

เพื่อนำแพ็กเกจจาก npm มาใช้ในโปรเจ็ค คุณจะต้องสร้างไฟล์ package.json สำหรับโปรเจ็คก่อน ไฟล์นี้ใช้สำหรับเก็บรายละเอียดต่างๆ เกี่ยวกับโปรเจ็ค และรายชื่อของแพ็กเกจพร้อมกับเวอร์ชันที่ใช้ในโปรเจ็ค เรามาเริ่มต้นด้วยการสร้างโฟล์เดอร์เปล่าที่มีชื่อว่า npm-example และพิมพ์คำสั่งต่อไปนี้ลงบน Command line เพื่อสร้างโปรเจ็ค

npm init

หลังจากรันคำสั่ง โปรแกรมจะถามคุณหลายคำถามสำหรับข้อมูลเกี่ยวกับโปรเจ็ค ให้กรอกข้อมูลเกี่ยวกับโปรเจ็คหรือกด Enter เพื่อใช้ค่าเริ่มต้น เมื่อคำถามทั้งหมดได้ถูกตอบ เราจะได้รับไฟล์ package.json ที่ประกอบไปด้วยข้อมูลดังต่อไปนี้

package.json
{
  "name": "npm-example",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

สำหรับรายละเอียดและคำอธิบายเกี่ยวกับฟิลด์ต่างในไฟล์ package.json คุณสามารถดูได้ที่บทก่อนหน้า Node Package Manager (NPM) ในส่วนของไฟล์ package.json สำหรับในบทนี้เราจะมุ่งเน้นการใช้งานคำสั่ง npm ในการจัดการกับแพ็กเกจเป็นหลัก

การติดตั้งแพ็กเกจด้วยคำสั่ง npm install

เมื่อไฟล์ package.json พร้อมแล้ว เราสามารถเริ่มติดตั้งแพ็กเกจเพื่อนำมาใช้งานในโปรเจ็คได้ เพื่อติดตั้งแพ็กเกจจาก npm Registry เมื่อคุณทราบชื่อของแพ็กเกจที่ต้องการแล้ว ใช้คำสั่งนี้สำหรับการติดตั้งแพ็กเกจลงบนโปรเจ็ค

npm install packageName

โดยที่ packageName เป็นชื่อของแพ็กเกจที่ได้รับมาจากเว็บไซต์ของ npm ต่อไปเรามาลองติดตั้งแพ็กเกจจริงๆ กัน ให้คุณพิมพ์สองคำสั่งนี้เพื่อติดตั้งแพ็กเกจ lodash และ express

npm install lodash
npm install express

นี่เป็นผลลัพธ์หลังจากการรันคำสั่ง npm install ในการติดตั้งแพ็กเกจ นั่นหมายความว่าแพ็กเกจได้ถูกติิดตั้งลงบนโปรเจ็คเสร็จสมบูรณ์

C:\projects\npm-example>npm install lodash
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN npm-example@1.0.0 No description
npm WARN npm-example@1.0.0 No repository field.

+ lodash@4.17.21
added 1 package from 2 contributors and audited 1 package in 2.182s
found 0 vulnerabilities

C:\projects\npm-example>npm install express
npm WARN npm-example@1.0.0 No description
npm WARN npm-example@1.0.0 No repository field.

+ express@4.17.1
added 50 packages from 37 contributors and audited 51 packages in 14.85s
found 0 vulnerabilities

ตอนนี้ลองกลับไปดูที่ไฟล์ package.json คุณจะเห็นฟิลด์ใหม่ได้ถูกเพิ่มเข้ามานั่นคือ dependencies มันใช้สำหรับเก็บรายชื่อของแพ็กเกจพร้อมเวอร์ชันที่ใช้ในโปรเจ็ค

package.json
{
  "name": "npm-example",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "lodash": "^4.17.21"
  }
}

นอกจากนี้ คุณจะเห็นไฟล์อื่นที่ถูกสร้างขึ้นนั่นคือ package-lock.json มันเป็นไฟล์ที่ใช้สำหรับติดตามเวอร์ชันของทุกแพ็กเกจในโปรเจ็ครวมทั้งแพ็กเกจที่เป็น Dependencies ของแพ็กเกจที่เราติดตั้งด้วย มันช่วยแก้ปัญหาเรื่องความขัดแย้งของเวอร์ชัน โดยทำการล็อคเวอร์ชันที่ต้องการใช้ให้คงที่อยู่เสมอ

นอกจากนี้ยังมีโฟล์เดอร์ node_modules ที่ถูกสร้างขึ้น มันเป็นสถานที่เก็บไฟล์ของแพ็กเกจที่ถูกติดตั้งที่สอดคล้องกับไฟล์ package.json ทุกอย่างในโฟล์เดอร์นี้จะถูกจัดการอัตโนมัติโดย npm ดังนั้นคุณไม่ควรแก้ไขมันด้วยตัวเอง

นอกจากนี้ คุณสามารถติดตั้งแพ็กเกจทั้งหมดที่ระบุไฟล์ package.json ได้โดยการพิมพ์คำสั่งแบบไม่ระบุชื่อแพ็กเกจ

npm install

นี่จะทำการดาวน์โหลดและติดตั้งแพ็กเกจทั้งหมดไว้ในโฟล์เดอร์ node_modules และนั่นหมายความว่าเราเพียงแค่เก็บไฟล์ package.json เอาไว้ส่วนโฟล์เดอร์ node_modules นั้นสามารถถูกสร้างขึ้นมาได้จากไฟล์นี้ และมันมักจะถูก Git ignore หากคุณใช้โปรแกรมควบคุมเวอร์ชันเช่น Git

แนวคิดนี้เหมือนกับการใช้งาน Composer ในภาษา PHP หรือ RubyGems ในภาษา Ruby

การติดตั้งแพ็กเกจแบบ --save-dev

คุณสามารถติดตั้งแพ็กเกจสำหรับใช้ในระหว่างการพัฒนาโปรแกรมได้ นี่สามารถทำได้โดยการระบุตัวเลือก --save-dev ในตอนติดตั้ง ยกตัวอย่างเช่น

npm install --save-dev packageName

นี่เป็นตัวอย่างของการติดตั้งแพ็กเกจ jest สำหรับใช้งานในระหว่างการพัฒนา มันเป็นแพ็กเกจสำหรับเขียนเทส (Unit test) ของโปรแกรมภาษา JavaScript

npm install --save-dev jest

เมื่อไหร่ก็ตามที่ติดตั้งแพ็กเกจกับตัวเลือกนี้ มันจะปรากฏในฟิลด์ devDependencies แทน นั่นหมายความว่าแพ็กเกจได้ติดตั้งเพื่อใช้ระหว่างการพัฒนา ดังนั้นมันไม่ควรถูกเผยแพร่ไปยังบน Production

ตัวอย่างการใช้งานไลบรารี Lodash

หลังจากที่แพ็กเกจถูกติดตั้งแล้ว เราสามารถเริ่มใช้งานมันในโปรเจ็คได้ทันที นี่เป็นตัวอย่างของการใช้งานแพ็กเกจ lodash เพื่อเรียงข้อมูลในอาเรย์จากใช้ Key ของออบเจ็คที่อยู่ในอาเรย์

lodash_example.js
const lodash = require('lodash');

let users = [
    { name: 'chris', score: 82 },
    { name: 'metin', score: 95 },
    { name: 'chris', score: 60 },
    { name: 'brendan', score: 54 }
];

let sorted = lodash.sortBy(users, ['name', 'score']);
console.log('Sorted by name then score');
console.log(sorted);

จากนั้นรันโปรแกรมด้วยคำสั่ง node lodash_example.js และนี่เป็นผลลัพธ์การทำงานของโปรแกรม

Sorted by name then score
[
  { name: 'brendan', score: 54 },
  { name: 'chris', score: 60 },
  { name: 'chris', score: 82 },
  { name: 'metin', score: 95 }
]

เพื่อใช้งานแพ็กเกจ lodash เรานำมันเข้ามาในโปรแกรมด้วยคำสั่ง

const lodash = require('lodash');

ในการนำเข้าแพ็กเกจที่ติดตั้งด้วย npm เราเพียงระบุชื่อของแพ็กเกจให้กับฟังก์ชัน require และ Node.js จะค้นหามันในโฟล์เดอร์ node_modules อัตโนมัติ ตัวแปรออบเจ็ค lodash ประกอบไปด้วยเมธอดทั้งหมดจากไลบรารีที่เราสามารถใช้

ในตัวอย่าง เรามีอาเรย์ที่เก็บออบเจ็คของ users ที่ประกอบไปด้วย name และ score เราต้องการเรียงอาเรย์นี้ด้วยชื่อและตามด้วยคะแนน เราสามารถใช้เมธอด sortBy จากแพ็กเกจ lodash สำหรับการทำงานนี้ได้

โดยทั่วไปแล้วในการนำเข้าโมดูล ถ้าคุณระบุเพียงชื่อของแพ็กเกจทุกอย่างจะถูกนำเข้ามาในโปรแกรม อย่างไรก็ตาม ในกรณีที่คุณทราบฟังก์ชันที่ต้องการใช้ก็สามารถนำเข้าเพียงบางส่วนได้ โดยการระบุโมดูลย่อยที่ต้องการนำเข้าในรูปแบบ module/submodule ยกตัวอย่างเช่น

// Import everything
const lodash = require('lodash');
// Import only array utilities
const array = require('lodash/array');
// Import only string utilities
const string = require('lodash/string');

นี่จะทำให้สามารถเลือกเฉพาะบางโมดูลย่อยในแพ็กเกจเท่านั้นเพื่อนำเข้ามาในโปรแกรม มันช่วยเพิ่มประสิทธิภาพการทำงานของโปรแกรมเล็กน้อย แต่การนำเข้าทั้งหมดนั้นก็โอเค

นี่เป็นเพียงตัวอย่างการใช้งานหนึ่งเมธอดของไลบรารี lodash สำหรับการจัดเรียงข้อมูลเท่านั้น เพื่อดูวิธีการใช้งานของเมธอดอื่นๆ คุณสามารถดูได้ที่ lodash.com

ตัวอย่างการใช้งานไลบรารี Express.js

ตัวอย่างต่อมาก็คือการใช้แพ็กเกจที่สองที่ติดตั้งในโปรเจ็คนั่นคือ express นี่เป็นโปรแกรมสำหรับสร้างเว็บเซิร์ฟเวอร์อย่างง่ายโดยการใช้งานแพ็กเกจ Express.js หรือกล่าวอีกนัยหนึ่งเราใช้มันสำหรับสร้างเว็บไซต์ที่รันบน Node.js

express_example.js
const express = require('express');
const app = express();
const port = 3000;

app.get('/', function (req, res) {
    res.send('Hello World');
})

app.listen(port, function() {
    console.log(`Listening at http://localhost:${port}`)
});

จากนั้นเรารันโปรแกรมด้วยคำสั่ง node express_example.js และนี่เป็นผลลัพธ์การทำงานของโปรแกรม

Listening at http://localhost:3000

โปรแกรมนี้จะสร้างเว็บเซิร์ฟเวอร์ที่คอมพิวเตอร์ของคุณที่ Port 3000 และมันจะไม่จบการทำงาน เนื่องจากมันกำลังรอฟังการร้องขอจาก Client เพื่อจบการทำงานของโปรแกรมคุณสามารถกด CTRL+C

คุณสามารถเปิดเว็บเบราว์เซอร์และไปที่ http://localhost:3000 คุณจะได้รับข้อความตอบกลับเป็น "Hello World" นี่เป็นเว็บแอพพลิเคชันจริงๆ ที่เราสร้างจาก Express.js จะเห็นว่าเราสามารถเรียกใช้เพียงไม่กี่เมธอดก็สามารถสร้างเว็บเซิร์ฟเวอร์ได้แล้ว

การติดตั้งแพ็กเกจแบบระบุเวอร์ชัน

ในการติดตั้งแพ็กเกจเพื่อใช้งานในโปรเจ็ค เมืิ่อคุณไม่ระบุเวอร์ชัน เวอร์ชันล่าสุดของแพ็กเกจจะถูกติดตั้งเสมอ อย่างไรก็ตาม คุณสามารถเลือกเวอร์ชันที่ต้องการติดตั้งได้โดยการระบุมันในรูปแบบ

npm install packageName@version

นี่จะมีประโยชน์เมื่อคุณยังไม่ต้องการใช้เวอร์ชันล่าสุด ไม่ว่าจะด้วยเหตุผลใดก็ตาม เราสามารถติดตั้งเวอร์ชันก่อนหน้าได้เนื่องจาก npm นั้นเก็บรักษาเวอร์ชันทั้งหมดของแพ็กเกจเอาไว้ นั่นเป็นเพราะว่าบางโปรเจ็คยังคงใช้อยู่และอาจยังไม่ต้องการอัพเดทไปยังเวอร์ชันล่าสุด

ในวันที่บทความนี้ถูกเขียน แพ็กเกจ lodash มีเวอร์ชันล่าสุดอยู่ที่ 4.17.21 แทนที่จะติดตั้งเวอร์ชันล่าสุดเราจะติดตั้งเวอร์ชั้นที่เก่ากว่าแทนนั่นคือเวอร์ชัน 4.17.15 ซึ่งเวอร์ชันนี้ถูกเผยแพร่เมื่อสองปีที่แล้ว

รันคำสั่งนี้เพื่อติดตั้ง lodash ในเวอร์ชันก่อนหน้า

npm install lodash@4.17.15

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

npm WARN npm-example@1.0.0 No description
npm WARN npm-example@1.0.0 No repository field.

+ lodash@4.17.15
updated 1 package and audited 51 packages in 3.997s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

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

การดูรายชื่อแพ็กเกจด้วย npm ls

ในการดูรายชื่อของแพ็กเกจทั้งหมดที่ติดตั้งในโปรเจ็ค คุณสามารถใช้คำสั่ง npm list นี่จะแสดงรายชื่อของแพ็กเกจทั้งหมดพร้อมกับเวอร์ชันที่โปรเจ็คของคุณกำลังใช้งานอยู่ ยกตัวอย่างเช่น

npm ls

นี่เป็นผลลัพธ์ของคำสั่ง มันจะแสดงแพ็กเกจในโครงสร้างต้นไม้

+-- express@4.17.1
| +-- accepts@1.3.7
| | +-- mime-types@2.1.29
| | | `-- mime-db@1.46.0
| | `-- negotiator@0.6.2
| +-- array-flatten@1.1.1
| +-- body-parser@1.19.0
...

แม้เราจะติดตั้งเพียงแพ็กเกจ lodash และ express ในโปรเจ็ค แต่แพ็กเกจเหล่านี้ได้มีการใช้แพ็กเกจอื่น (Depecdencies) ในตัวมันด้วย ดังนั้นคำสั่งนี้แสดงรายชื่อของแพ็กเกจทั้งหมด

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

npm list --depth=0

นี่จะแสดงเพียงแพ็กเกจที่อยู่ในไฟล์ package.json หรือไม่รวมแพ็กเกจที่เป็น Dependencies ของสองแพ็กเกจนี้นั่นเอง

npm-example@1.0.0 C:\projects\npm-example
+-- express@4.17.1
`-- lodash@4.17.15

การตรวจสอบแพ็กเกจด้วย npm outdated

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

npm outdated

นี่เป็นผลลัพธ์จากการรันคำสั่ง

Package  Current   Wanted   Latest  Location
lodash   4.17.15  4.17.21  4.17.21  npm-example

นี่จะแสดงรายชื่อแพ็กเกจที่เก่ากว่าเวอร์ชันล่าสุด โดยแสดงเวอร์ชันที่ใช้ในโปรเจ็คของคุณ (Current) เวอร์ที่แนะนำให้ใช้งาน (Wanted) และเวอร์ล่าสุดที่บน npm Registry (Latest) นี่จะสามารถช่วยให้คุณทราบได้ว่าแพ็กเกจอะไรบ้างที่เก่าและจำเป็นต้องอัพเดท และคุณสามารถตัดสินใจได้ว่าจะอัพเดทมันหรือไม่

ในตัวอย่างก่อนหน้าเราได้ติดตั้งแพ็กเกจ lodash เวอร์ชัน 4.17.15 ซึ่งเป็นเวอร์ชันเก่าในสองปีทีแล้ว ดังนั้นการรันคำสั่งนี้แพ็กเกจจะถูกรายงานว่าเป็นเวอร์ชันเก่า

ในการใช้งานแพ็กเกจ เราแนะนำให้อัพเดทเป็นเวอร์ชันล่าสุดเสมอเมื่อมีโอกาส เนื่องจากเวอร์ชันที่อัพเดทมามักจะแก้ปัญหา ปรับปรุงคุณภาพ หรือเพิ่มคุณสมบัติใหม่เข้ามา อย่างไรก็ตาม ในการอัพเดทเวอร์ชันของไลบรารีคุณควรตรวจสอบบันทึกการเปลี่ยนแปลง (Change logs) ที่อาจมีผลกระทบกับโปรแกรมของคุณด้วยเสมอ

การอัพเดทแพ็กเกจด้วย npm update

เมื่อคุณต้องการอัพเดทแพ็กเกจเป็นเวอร์ชันล่าสุด คุณสามารถใช้คำสั่ง npm update ได้ ยกตัวอย่างเช่น

npm update

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

npm WARN npm-example@1.0.0 No description
npm WARN npm-example@1.0.0 No repository field.

+ lodash@4.17.21
updated 1 package and audited 51 packages in 6.928s
found 0 vulnerabilities

นี่จะอัพเดทแพ็กเกจทั้งหมดในโปรเจ็คเป็นเวอร์ชันล่าสุดหากมันยังไม่ล่าสุด และอัพไฟล์ package.json ด้วยเช่นกัน

ในกรณีที่คุณต้องการอัพเดทเพียงแค่บางแพ็กเกจให้เป็นเวอร์ชันล่าสุด คุณสามารถระบุชื่อของแพ็กเกจที่ต้องการได้ เช่น

npm update lodash

นี่จะอัพเดทเพียงแพ็กเกจ lodash เป็นเวอร์ชันล่าสุด แพ็กเกจอื่นจะยังคงอยู่เวอร์ชันเดิม

หลังจากที่แพ็กเกจทั้งหมดอยู่ในเวอร์ชันล่าสุด เมื่อคุณรันคำสั่ง npm outdated จะไม่มีรายการของแพ็กเกจแสดง เนื่องจากคำสั่งนี้แสดงเพียงแพ็กเกจที่เก่าเกินไปสำหรับการใช้งานเท่านั้น

การถอนการติดตั้งแพ็กเกจด้วย npm uninstall

เมื่อไม่ต้องการใช้แพ็กเกจในโปรเจ็คแล้ว คุณสามารถลบมันออกไปได้ด้วยคำสั่ง npm uninstall สำหรับตัวอย่างสุดท้ายของบทเรียนนี้ เราจะลบแพ็กเกจที่ได้ติดตั้งไปก่อนหน้านั่นคิือแพ็กเกจ lodash และ express นี่เป็นคำสั่งสำหรับลบแพ็กเกจ

npm uninstall lodash
npm uninstall express

นี่เป็นผลสำเร็จของการลบแพ็กเกจทั้งสองออกจากโปรเจ็ค

C:\projects\npm-example>npm uninstall lodash
npm WARN npm-example@1.0.0 No description
npm WARN npm-example@1.0.0 No repository field.

removed 1 package and audited 50 packages in 2.055s
found 0 vulnerabilities

C:\projects\npm-example>npm uninstall express
npm WARN npm-example@1.0.0 No description
npm WARN npm-example@1.0.0 No repository field.

removed 50 packages in 1.647s
found 0 vulnerabilities

แพ็กได้ถูกลบออกจากโปรเจ็คของเราเรียบร้อยแล้วและในไฟล์ package.json ด้วย

เมื่อไหร่ก็ตามที่คุณรันคำสั่งสำหรับจัดการกับแพ็กเกจ ทั้งไฟล์ package.json, package-lock.json และโฟล์เดอร์ node_modules จะถูกอัพเดทอัตโนมัติ สำหรับไฟล์ package.json เราอาจแก้ไขมันเองในบางครั้ง แต่สำหรับสองไฟล์ที่เหลือควรปล่อยให้ npm จัดการเอง

นี่เป็นคำสั่ง npm เพียงบางส่วนที่เราแนะนำให้กับคุณ และมันเพียงพอสำหรับการใช้งาน npm พื้นฐาน ถ้าคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งทั้งหมดเกี่ยวกับการใช้งาน npm สามารถอ่านเพิ่มเติมได้ที่ npm CLI commands

ในบทนี้ คุณได้เรียนรู้การใช้งานคำสั่ง npm สำหรับติดตั้ง อัพเดท และลบ และคำสั่งอื่นๆ สำหรับจัดการกับแพ็กเกจที่ใช้งานในโปรเจ็ค และเรายังได้แสดงตัวอย่างการใช้งานสองแพ็กเกจที่เป็นที่นิยมนั้นคือ lodash และ express ซึ่งอาจเป็นตัวอย่างที่มีประโยชน์เมื่อคุณต้องการใช้มันในโปรเจ็ค Node.js ของคุณ

กลุ่มหัดเขียนโปรแกรมภาษา Python

กลุ่มหัดเขียนโปรแกรมเบื้องต้น เข้าร่วมกลุ่มเพื่อสอบถามปัญหาเกี่ยวกับการเขียนโปรแกรมในภาษาต่างๆ

เข้าร่วมกลุ่ม
บทความนี้เป็นประโยชน์หรือไม่? Yes · No