การใช้งาน NPM สำหรับติดตั้งและจัดการแพ็กเกจ บน Node.js
ในบทก่อนหน้า เราได้แนะนำให้คุณรู้กับ 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 ที่ประกอบไปด้วยข้อมูลดังต่อไปนี้
{
"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 [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
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 [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
added 50 packages from 37 contributors and audited 51 packages in 14.85s
found 0 vulnerabilities
ตอนนี้ลองกลับไปดูที่ไฟล์ package.json คุณจะเห็นฟิลด์ใหม่ได้ถูกเพิ่มเข้ามานั่นคือ dependencies
มันใช้สำหรับเก็บรายชื่อของแพ็กเกจพร้อมเวอร์ชันที่ใช้ในโปรเจ็ค
{
"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 ของออบเจ็คที่อยู่ในอาเรย์
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
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 [email protected]
นี่เป็นผลลัพธ์การทำงานของโปรแกรม
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
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
นี่เป็นผลลัพธ์ของคำสั่ง มันจะแสดงแพ็กเกจในโครงสร้างต้นไม้
+-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| +-- [email protected]
...
แม้เราจะติดตั้งเพียงแพ็กเกจ lodash และ express ในโปรเจ็ค แต่แพ็กเกจเหล่านี้ได้มีการใช้แพ็กเกจอื่น (Depecdencies) ในตัวมันด้วย ดังนั้นคำสั่งนี้แสดงรายชื่อของแพ็กเกจทั้งหมด
เพื่อดูเฉพาะแพ็กเกจที่เรานำมาใช้งานในโปรเจ็คจริงๆ คุณสามารถระบุตัวเลือก depth
ให้กับคำสั่งได้ ยกตัวอย่างเช่น
npm list --depth=0
นี่จะแสดงเพียงแพ็กเกจที่อยู่ในไฟล์ package.json หรือไม่รวมแพ็กเกจที่เป็น Dependencies ของสองแพ็กเกจนี้นั่นเอง
[email protected] C:\projects\npm-example
+-- [email protected]
`-- [email protected]
การตรวจสอบแพ็กเกจด้วย 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 [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
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 [email protected] No description
npm WARN [email protected] 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 [email protected] No description
npm WARN [email protected] 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 ของคุณ