BẠN BIẾT GÌ VỀ PACKAGE MANAGER?

09-12-2018 17:09

Cùng ITPlus Academy tìm hiểu các kiến thức về Package Mananger vô cùng cần thiết với các lập trình viên. Có thể bạn đã sử dụng nó bấy lâu nay mà không hay biết đấy!

Package Manager là gì?

 Package Manager (PM) hoặc package management system là một tập hợp các phần mềm dùng để quản lý và tự động hoá việc cài đặt, nâng cấp, gỡ bỏ các phần mềm/thư viện (package). 

Package Manager giải quyết vấn đề gì? Cùng hiểu rõ hơn qua tình huống sau nhé:

Giả sử bạn đang làm một dự án, cần sử dụng một số thư viện thay vì tự code. Bạn lên mạng tải thư viện đó về, link vào dự án và bắt đầu chạy. Cách làm này có một số vấn đề:

  1. Khi nhiều người cùng làm chung một dự án, đôi khi mỗi người sử dụng một phiên bản riêng, xung đột lẫn nhau. Code chạy được ở máy này, không chạy được ở máy khác.
  2. Khi commit code vào source control, ta phải commit cả thư viện vào, rất nhiều và nặng khi commit cũng như tải về.
  3. Khi deploy, ta phải copy luôn thư viện lên, rất chậm và mất thời gian.

Khi sử dụng Package Manager, thông thường sẽ có 3 thành phần chính giúp khắc phục vấn đề trên, bao gồm:

  1. Package Manager: Cài đặt trên máy developer, quản lý việc cài đặt các package
  2. Repository: Nơi chứa các package (trên mạng). Khi cần một package nào đó, PM sẽ tải package đó từ repository về
  3. Local Package Database: Mỗi dự án sẽ có local package database riêng, chứa thông tin (metadata, bao gồm tên package, phiên bản, dependency) của các package trong dự án đó.

Với 3 thành phần này, PM giải quyết các vấn đề trên rất dễ dàng:

  • Mỗi khi cần thư viện, các bạn dùng PM để cài đặt. PM sẽ tải thư viện từ Repository về, sau đó cập nhật Local Package Database.
  • Khi commit code, bạn chỉ cần commit Local Package Database, đây thường chỉ là 1 file text rất nhẹ.
  • Khi deploy hoặc share code qua máy khác, họ sẽ sử dụng PM. Dựa theo các package trong Local Package Database, PM sẽ tải đúng package phiên bản tương ứng.

Cần biết các kiến thức gì về Package Manager?

Bạn cần phải biết các kiến thức sau để tự tin nói rằng bạn biết sử dụng Package Manager:

  • Các package được lưu trữ ở đâu, quản lý như thế nào?
  • Làm sao install package mới vào hệ thống
  • Tìm package và đọc tài liệu ở đâu?
  • Cách xử lý một số vấn đề thường gặp

Ví dụ, nếu như code NodeJS, bạn sẽ cần nắm rõ một số phương pháp sử dụng npm (Package Manager chính của NodeJS) như sau:

  • Toàn bộ package được lưu trữ trong thư mục node_modules, thông tin về các package lưu trong file package.json
  • Sử dụng npm install đề cài đặt package. Nếu muốn thông tin package được lưu trong file package.json, dùng lệnh npm install –save
  • Thông tin và tài liệu về các package có thể dễ dàng tìm thấy tại: https://www.npmjs.com
  • Khi clone một dự án từ github về, ta phải chạy npm install để npm tải các package về. Ta cũng có thể cài đặt command bằng cách thêm scripts trong package.json.

 Các Package Manager nổi tiếng

Bower: Package manager cho nền tảng web, phần lớn các package trên này là các thư viện CSS, JavaScript

npm: PM chính cho NodeJS. Hiện này, repostiory của npm đang có số lượng module lớn nhất

Maven: Package manager thân thiết của các lập trình viên Java

Nuget: PM và cũng là Repository của các lập trình viên .NET. Các package thường được lưu trong file packages.config hoặc project.json

 

Hiện nay có rất nhiều khóa học lập trình dành cho người mới bắt đầu với chi phí rất rẻ nhưng mang lại hiệu quả tốt. Tham khảo một số khóa học:

Ban Truyền thông ITPlus Academy

Bài viết cùng chủ đề