Manage packages dependencies with NPM
Bài đăng này đã không được cập nhật trong 3 năm
Mở đầu
Node Package Manager
(NPM) là một ứng dụng dòng lệnh CLI (Command line interface) dùng để quản lý các package, thư viện và các phụ thuộc của chúng. Công cụ này cho phép publish các package của bạn lên trang chủ NPM
và tìm kiếm, cài đặt các module, package do những người khác up lên. Trong bài viết này, tôi sẽ giới thiệu cách sử dụng NPM
, làm thế nào để download, uninstall, quản lý các packages thông qua các ví dụ cụ thể.
Cài đặt/cập nhật NPM
- Gói cài đặt của
Node
đã bao gồmNPM
, vì vậy nếu máy đã cài Node thìNPM
cũng đã sẵn có rồi. Nếu chưa, cài Node theo các bước sau (Nếu sử dụng OSX hoặc Window, đơn giản chỉ cần tải installer tương thích tại trang chủ Nodejs):
# Version cho Ubuntu
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs
- Vì
NPM
cập nhật thường xuyên hơn Node, nên đôi lúc cần check và cập nhật version mới nhất của nó:
# update NPM to latest and greatest
npm install -g npm
Khởi tạo một dự án NodeJs
- Node project sử dụng một file đặc biệt tên là
package.json
, mô tả cụ thể cácdependencies
cũng như các thông tin chung để có thể chạy project. Để tạo file này sử dụng lệnhnpm init
, từng thông tin cơ bản như author, description, version, v.v...sẽ hiện để người dùng nhập vào, nếu không thay đổi gì, nội dung file được tạo ra cuối cùng như sau:
{
"name": "npm_demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Install NPM packages
- Sử dụng lệnh
npm install <package_name>
để download và cài đặt NPM package nào đó, mặc định npm sẽ tìm version mới nhất để cài đặt, tuy nhiên ở đây ta có thể chỉ rõ version muốn cài đặt sau dấu@
. Ví dụ dưới đây project cần sử dụng 2 thư viện lodash version mới nhất và express có chỉ định cụ thể version:
# install và lưu vào package.json
npm install lodash --save
# install version cụ thể
npm install express@4.14.0 --save
npm install
sẽ tạo ra một foldernode_modules
chứa tất cả các dependencies của cả project. Vào lạipackage.json
, để ý thấy 2 package ta vừa install bên trên đã tự động được thêm vào danh sách dependencies. Ta cũng có thể liệt kê trước danh sách các dependencies package trongpackage
và install một thể với lệnh
npm install
- NPM sẽ thêm các package vào list dependencies nếu sử dụng
--save
flag. Để tự động quá trình này chạy lệnhnpm config
như sau:
npm config set save=true
npm config set save-exact=true
save-exact=true
sẽ ngăn không cho npm tự động update package này và giữ nguyên version hiện tại. Ngoài ra, có thể sử dụng flag--save-dev
khi sử dụng các package không phải là một phần của project, ví dụ như testing lib, building assets tools, v.v..- Tổng kết lại thì các lệnh cơ bản để sử dụng npm như sau:
# install a package globally
npm install -g <package_name>
# install a package locally (node_modules)
npm install <package_name>
# install a package locally and save it as dependency (package.json)
npm install <package_name> --save-dev
# install package locally, save it as dependency with the exact version
npm install <package_name> --save --save-exact
# install all dependencies listed on package.json
npm install
View lại các package đã install và uninstall package
- Để check lại danh sách các package mà ta đã install trên hệ thống, có thể sử dụng những lệnh sau:
# list ds các dependencies đã install cục bộ trong project
npm_demo npm ls --depth=0
npm_demo@1.0.0 /home/workspace/monthly_report/201703/npm_demo
├── express@4.14.0
└── lodash@4.17.4
# list ds các dependencies đã install global trên toàn hệ thống
npm_demo npm ls -g --depth=0
/usr/local/lib
├── bower@1.8.0
├── compass@0.1.1
├── eslint@3.17.1
├── generator-angular@0.15.1
├── generator-karma@2.0.0
├── grunt-cli@1.2.0
├── gulp-cli@1.2.1
├── jshint@2.9.4
├── karma-cli@1.0.1
├── npm@3.8.9
├── sense@0.0.0
├── spawn-sync@1.0.15
└── yo@1.7.1
- Để uninstall một package nào đó sử dụng một trong những lệnh sau:
# uninstall package nhưng vẫn để nó tồn tại trong dependencies folder (node_modules)
npm uninstall lodash
# uninstall và remove khỏi dependencies folder
npm uninstall --save lodash
# uninstall package toàn cục
npm uninstall -g <package_name>
# remove các uninstalled packages khỏi node_modules
npm prune # remove extranous
Tổng kết
NPM là một công cụ mạnh mẽ trong việc tạo các project Node và quản lý các dependencies. Trong bài viết này, tôi đã giới thiệu qua một số lệnh chính thường được sử dụng khi làm việc với NPM, hi vọng bài viết sẽ giúp ích phần nào cho các newbie đang bước đầu làm quen với các dự án NodeJs.
Nguồn tham khảo
All rights reserved