Corepack là gì và tác dụng của nó trong Node.js

Corepack là gì và tác dụng của nó trong Node.js

Những mẩu tin ngắn hàng ngày dành cho bạn
  • Một phần mềm giúp chuyển đổi văn bản thành giọng nói do một lập trình viên người Việt làm ra - J2TEAM - Text to Speech (Free). Bạn có thể chuyển đổi hàng chục ngôn ngữ sang hàng chục giọng đọc tự nhiên khác nhau. Điều đặc biệt là nó miễn phí.

    Đánh giá sơ bộ thì chuyển đổi văn bản dài hoặc văn bản bằng tiếng Việt thuần thì rất tốt. Còn dính thêm các từ tiếng Anh thì nó đọc hơi buồn cười 😅

    » Xem thêm
  • Quá ghê ghớm, Codeium - vốn được biết đến như một đối thủ của Github Copilot, khi nó cho người dùng dùng miễn phí không giới hạn. Mới đây họ giới thiệu thêm Windsurf Editor - không chỉ còn là VSCode Extentions nữa mà là một trình Editor luôn - cạnh tranh trực tiếp với Cursor. Và điểm chính là nó... hoàn toàn miễn phí 🫣.

    » Xem thêm
  • Tin vui đầu này, Github Copilot đã chính thức có bản Free cho tất cả mọi người.

    Github Copilot là một trợ lý AI code cùng chúng ta, nó có thể tự động hoàn thành mã, trò chuyện hoặc sửa lỗi. Hiện đang hỗ trợ nhiều trình soạn thảo, IDE phổ biến như VSCode, JetBrains, XCode...

    Phiên bản miễn phí đang bị giới hạn 2000 Suggestions, và khoảng 50 requests đến tính năng Chat hàng tháng. Sau đó bạn có thể nâng cấp lên các phiên bản cao cấp hơn với giá từ 10$.

    Theo đánh giá của mình thì Copilot rất tốt và xứng đáng trong tầm giá, đang dùng hàng ngày 😄

    » Xem thêm

Vấn đề

npm là trình quản lý gói được tích hợp vào bộ cài Node.js đã từ rất lâu. Hầu hết chúng ta đều sử dụng npm để tải về các gói có trên npm registry, hoặc mỗi khi cần cài đặt lại toàn bộ các gói phụ thuộc sử dụng trong dự án. npm có những cơ chế bảo mật cao như quyền truy cập vào các gói riêng tư (private), cơ chế xác thực và xác minh hai lớp...

Tiện lợi là thế nhưng npm cũng có một số hạn chế như tốc độ cài đặt gói chậm, tạo ra node_modules có dung lượng tương đương với hố đen vũ trụ... kèm theo một bộ cấu hình phức tạp. Chính vì thế nhiều trình quản lý gói khác ra đời nhằm khắc phục những điểm yếu đó, đơn cử như Yarn hoặc pnpm.

Trong khi yarn nổi tiếng với tốc độ cài đặt gói thì pnpm lại có cơ chế làm giảm dung lượng của node_modules thông qua việc chia sẻ thư mục. Giờ đây chúng ta không nhất thiết phải sử dụng npm theo mặc định nữa, mà có thể lựa chọn các trình quản lý khác theo sở thích hoặc nhu cầu của dự án.

Một tin vui nữa là kể từ Node.js 14, chúng ta không cần phải cài đặt yarn hoặc pnpm một cách thủ công nữa mà nó đã được tích hợp sẵn vào trong Node.js với cờ thử nghiệm (Stability: 1) với tên gọi Corepack. Có thể sẽ mất thêm một thời gian nữa thì Corepack mới được gán cờ ổn định, nhưng ngay bây giờ hãy cùng tôi tìm hiểu xem Corepack là gì và sử dụng nó như thế nào nhé.

Corepack là gì?

Corepack hiện đang là một công cụ thử nghiệm giúp quản lý các trình quản lý gói. Nó đóng vai trò như là một proxy. Khi được gọi, nó sẽ xác định xem trình quản lý gói nào được định cấu hình cho dự án hiện tại, cài đặt nếu chưa có và cuối cùng chạy nó. Tất cả những gì người dùng thấy là kết quả như đang tương tác với trình quản lý gói trực tiếp.

Cốt lõi của Corepack là:

  • Không cần thiết phải cài đặt thủ công trình quản lý gói từ những công cụ cài đặt bên ngoài nữa.
  • Đảm bảo rằng mọi người trong nhóm sẽ sử dụng chính xác phiên bản trình quản lý gói thông qua thiết lập trong "package.json".

Cách sử dụng

Do đang là thử nghiệm, Corepack cần được kích hoạt thông qua lệnh corepack enable, chỉ cần nhập vào terminal:

$ corepack enable

Ngay lập tức Corepack sẽ được kích hoạt, bạn có thể kiểm tra version của yarn hay pnpm ngay lúc này:

$ yarn --version
1.22.19

$ pnpm --version
8.5.1

Hiện tại, Corepack chỉ hỗ trợ hai trình quản lý gói là yarn và pnpm. Nếu không muốn sử dụng nữa, chỉ cần chạy lệnh corepack disable.

$ corepack disable

Để xác định trình quản lý gói được sử dụng trong dự án, bạn có thể thiết lập nó thông qua thuộc tính "packageManager" có trong package.json. Mở package.json ra và kiểm tra xem có thuộc tính packageManager chưa, nếu chưa thì hãy thêm vào:

{
   ...
   "packageManager": "yarn",
   ...
}

Hành động này đồng nghĩa với việc bạn cấu hình yarn làm trình quản lý gói mặc định, nếu cố tình sử dụng pnpm trong dự án để cài đặt hoặc làm bất cứ điều gì đi nữa thì một thông báo lỗi sẽ bật ra màn hình yêu cầu phải sử dụng yarn.

Điều này ngoại lệ với npm, nghĩa là bạn vẫn có thể sử dụng lệnh npm trong khi "packageManager" đang được thiết lập là yarn hoặc pnpm.

Tổng kết

npm là trình quản lý gói được tích hợp sẵn trong Node.js. Mặc dù là công cụ mạnh mẽ nhưng npm trong tránh khỏi những thiết sót. Lý do đó khiến Corepack ra đời mang theo hai trình quản lý gói là yarn và pnpm. Giờ đây không cần phải cài đặt thủ công trình quản lý gói yêu thích nữa mà có thể sử dụng nó ngay trong Node.js.

Tham khảo:

Cao cấp
Hello

Tôi & khao khát "chơi chữ"

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.
Author

Xin chào, tôi tên là Hoài - một anh Dev kể chuyện bằng cách viết ✍️ và làm sản phẩm 🚀. Với nhiều năm kinh nghiệm lập trình, tôi đã đóng góp một phần công sức cho nhiều sản phẩm mang lại giá trị cho người dùng tại nơi đang làm việc, cũng như cho chính bản thân. Sở thích của tôi là đọc, viết, nghiên cứu... Tôi tạo ra trang Blog này với sứ mệnh mang đến những bài viết chất lượng cho độc giả của 2coffee.dev.Hãy theo dõi tôi qua các kênh LinkedIn, Facebook, Instagram, Telegram.

Bạn thấy bài viết này có ích?
Không

Bình luận (0)

Nội dung bình luận...