Yarn Là Gì? Những Nguyên Nhân Yarn đang Dần Thay Thế Npm - Vietnix
Có thể bạn quan tâm
Yarn – Công cụ quản lý những phần mềm trong một dự án đang được người sử dụng ưa chuộng phổ biến hiện nay, được đánh giá là đang dần thay thế npm. Vậy bạn đã hiểu rõ Yarn là gì và cách sử dụng Yarn hiệu quả chưa? Hãy cùng Vietnix tìm hiểu định nghĩa, cách cài đặt công cụ phần mềm Yarn và So sánh giữa Yarn với npmtrong bài viết dưới đây.
Yarn là gì?
Yarn là công cụ quản lý gói phần mềm (Package) JavaScript mã nguồn mở tốc độ cao, nó cho phép người dùng sử dụng và chia sẻ các gói phần mềm với lập trình viên trên toàn thế giới.
Yarn được xây dựng và sử dụng bởi các kỹ sư tập đoàn Facebook, Google, Exponent và Tilde từ tháng 1/2016. Mục đích của họ khi tạo ra Yarn là để giải quyết các vấn đề thường gặp phải khi sử dụng NPM như hiệu suất cài đặt còn thấp, việc cài đặt mất quá nhiều thời gian, còn tồn tại các lỗi về bảo mật.
Với những tính năng ưu việt, Yarn đã thể hiện tiềm năng phát triển mạnh mẽ của phần mềm với đánh giá hơn 10.000 stars chỉ trong 1 ngày tại Github.
Sau sự thành công đầu tiên, đội ngũ phát triển đã tiến hành nâng cấp phiên bản Yarn 2 vào tháng 1/2020. Tuy nhiên dự án Yarn 2 không nhận được sự hưởng ứng và ủng hộ của người dùng. Chính vì vậy, trong bài viết này Vietnix sẽ chỉ đề cập đến Yarn 1 và gọi tóm tắt là Yarn.
Các tính năng của Công cụ quản lý gói phần mềm Yarn
Ngoài việc cài đặt nhanh chóng, độ bảo mật đáng tin cậy, Yarn được trang bị các tính năng sau:
- Offline mode: Sau khi tải Yarn về máy, bạn có thể sử dụng công cụ mà không cần internet, giúp quá trình làm việc thuận lợi hơn rất nhiều.
- Deterministic: Các Package có thứ tự cài đặt khác nhau sẽ được quản lý nhất quán cho tất cả các máy.
- Network Performance: Giúp bạn sử dụng hiệu quả các request và tránh waterfall các request nhằm tối ưu tốc độ mạng.
- Multiple Registries: Tính năng này giúp người dùng cài đặt các gói registries như Bower hay NPM đều đảm bảo workflow giống nhau.
- Network Resilience: Với tính năng này, tiến trình làm việc của Yarn vẫn sẽ tiếp tục kể cả khi một request gặp lỗi. Tính năng này khắc phục được hạn chế của npm là nếu gặp lỗi thì npm của bạn sẽ phải dừng lại.
- Flat Mode: Thống nhất phiên bản các Package thành 1 gói để hạn chế tình trạng trùng lặp cho người sử dụng.
Bên cạnh đó, Yarn còn được bổ sung một số tính năng khác để đơn giản hóa quá trình vận hành và quản lý:
- Yarn có thể tương thích với cả npm và bower, được trang bị hỗ trợ đăng ký trộn.
- Hiển thị một API JS công khai ổn định với việc ghi nhật ký được tóm tắt để sử dụng thông qua các công cụ xây dựng.
- Yarn sở hữu đầu ra CLI dễ đọc, đơn giản và đẹp mắt.
Cách cài đặt công cụ quản lý gói phần mềm Yarn
Yarn có thể được cài đặt đa dạng các hệ điều hành như: Windows, Linux, MacOS. Sau đây là cách cài đặt Yarn cho từng hệ điều hành:
1. Hệ điều hành Windows
Với Windows, bạn có thể lựa chọn cài đặt với 3 cách sau:
Cài đặt thông qua bộ cài
- Đầu tiên, bạn cần cài đặt Node.js.
- Sau đó tải bộ cài Yarn và thực hiện lệnh cài đặt.
Cài đặt thông qua NPM
Cách cài đặt này dành cho người sử dụng đã có sẵn npm trong máy:
npm install yarn --globalCài đặt sử dụng các package manager cho Windows như Scoop, Chocolatey
- Trước hết cần cài đặt Node.js.
- Tiến hành cài đặt các công cụ quản lý package như Scoop hoặc Chocolatey.
- Cài đặt Yarn:
hoặc
choco install yarn2. Các hệ điều hành Linux
Hệ điều hành Debian/Ubutu:
Cấu hình repository:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/stable main" | sudo tee /etc/apt/sources.list.d/yarn.listSau đó thực hiện cài đặt yarn:
sudo apt-get update && sudo apt-get install yarnHệ điều hành CentOS / Fedora / RHEL:
Các hệ điều hành này cài đặt thông qua RPM package repository:
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repoNếu đã cài đặt Node.js trên máy, bạn cần cấu hình Nodesource repository:
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -Sau đó thực hiện cài đặt yarn:
sudo yum install yarn3. Hệ điều hành MacOS
Cài đặt thông qua Quản lý Package Homebrew:
brew install yarnPhần mềm sẽ tự động cài đặt Node nếu máy bạn chưa cài sẵn.
Tổng hợp câu lệnh Yarn
Sau đây là một số câu lệnh Yarn được sử dụng phổ biến:
Tạo dự án mới: yarn init.
Thêm các thư viện:
yarn add [package] yarn add [package]@[version] yarn add [package]@[tag]Lưu ý: Khi bạn dùng câu lệnh “yarn add”, Yarn sẽ tự động thêm package.json.
Cập nhật:
yarn update [package] yarn update [package]@[version] yarn update [package]@[tag]Xóa:
yarn remove [package]Cài đặt tất cả các gói phần mềm trong dự án:
yarn yarn installSo sánh giữa Yarn và NPM
NPM là viết tắt của từ Node Package Manager – Công cụ quản lý các phần mềm lập trình Javascript cho Node. Thông thường, các lập trình viên sử dụng Javascript thường chia sẻ các thư viện đoạn code đã được lập trình sẵn với một chức năng nào đó. Điều này giúp hạn chế sự trùng lặp giữa các dự án với nhau.
>> Xem chi tiết: NPM là gì? Tầm quan trọng của NPM đối với việc quản lý thư viện
NPM sẽ giúp quá trình làm việc đơn giản của các lập trình viên trở nên đơn giản hơn rất nhiều. Họ chỉ cần thao tác một dòng lệnh để tải về và include vào dự án do các thư viện đều có sẵn trên NPM.
NPM Yarn đều được đánh giá Công cụ Quản lý Package Javascript cho Node hàng đầu hiện nay. Về cơ bản, cả 2 công cụ khá giống nhau do chúng được lấy cảm hứng phát triển từ nhau. Tuy nhiên giữa Yarn và npm đều có các tính năng, đặc điểm riêng biệt. Hãy cùng so sánh cả 2 công cụ này để tìm ra công cụ quản lý Package phù hợp nhất với bạn:
Khác biệt về chức năng
File yarn.lock
Cả Yarn và npm đều sử dụng file package.json để theo dõi và quản lý các dependency của dự án. Trong đó, các version của dependency không phải lúc nào cũng ở dạng một con số cụ thể, người dùng có thể tạo lập một khoảng các version. Điều này cho phép người dùng chỉ định phiên bản package chính và phụ, nhưng vẫn có thể cài đặt bản vá mới nhất có thể fix một vài bug.
Tuy nhiên, bản vá lỗi không phải lúc nào cũng chính xác. Khi hoạt động một file package.json trên hai máy khác nhau, cài đặt các phiên bản khác nhau của cùng một package có thể dẫn đến một vài bug không mong muốn.
Do đó, Yarn đã thiết lập một phiên bản chính xác trong lock file. Bất cứ khi nào một module được cài đặt, máy chủ sẽ tạo ra một yarn.lock file. Điều này giúp việc cài đặt một package trên các máy được đồng bộ, trong khi vẫn có một khoảng version cho phép được tạo lập trong package.json.
Với npm, câu lệnh npm shrinkwrap sẽ tạo lập một lock file, và npm install sẽ xử lý file này sau đó xử lý file package.json.
Sự khác nhau giữa Yarn NPM là Yarn luôn luôn tạo lập yarn.lock còn npm không tạo lock file mặc định mà chỉ cập nhật npm-shrinkwrap.json khi nó có tồn tại.
Yarn cài đặt các gói song song
Đối với npm, các task được xử lý theo trình tự, sau khi một package được xử lý hoàn tất rồi mới xử lý tới đối tượng tiếp theo. Trong khi đó, Yarn xử lý các task song song, điều này giúp tăng hiệu suất làm việc và tiết kiệm tối đa thời gian của các lập trình viên.
Yarn cho ra kết quả rõ ràng hơn
Output của npm được đánh giá là khá rườm rà, không cần thiết. Nó liệt kê tất cả các packages và các dependencies. Trong khi Yarn thì ngược lại, nó liệt kê ít thông tin hơn, kết hợp với các emojis phù hợp giúp kết quả rõ ràng và trực quan hơn.
Khác biệt về thao tác lệnh
Yarn global
Npm sử dụng -g hoặc –global, còn Yarn bắt đầu lệnh với global.
Yarn install
Lệnh npm install sẽ tạo lập dependencies từ package.json và thêm package mới. Còn install Yarn thì cài đặt dependencies trong yarn.lock hoặc package.json.
yarn add [-dev]
Lệnh yarn add [package] cho phép bạn tạo lập dependencies và thêm version tự động vào package.json tương tự như npm install [package] với flag –save. Khi Yarn add thêm flag –dev thì kết quả cũng tương tự khi npm install thêm flag –save-dev.
Độ bảo mật và tính ổn định
Công cụ Yarn được đánh giá cao trong việc tích cực tìm và loại bỏ các bug. Yarn đã cải thiện được nhiều hạn chế của npm. Việc cài đặt các package trên Yarn có tốc độ và hiệu suất cao hơn trên npm. Ngoài ra, Yarn cũng cung cấp cho người sử dụng một hệ thống với độ bảo mật cao và tính nhất quán, ổn định.
Tuy Yarn là công cụ “sinh sau đẻ muộn”, nhưng nó đã cho thấy tiềm năng và được dự đoán rằng một ngày không xa sẽ thay thế “đàn anh” npm đi trước.
Câu hỏi thường gặp
Yarn có phải là một phần của Node JS không?
Yarn là một trình quản lý gói mới cho Node. JS. Đây là một dự án phổ biến được phát triển bởi các công ty như Facebook, Exponent, Google và Tilde. Yarn được phân phối theo giấy phép BSD.
Yarn có nhanh hơn npm không?
Nếu so sánh về tốc độ, Yarn nhanh hơn nhiều so với hầu hết các phiên bản npm thấp hơn phiên bản 5.0. Các nhà phát triển npm đã đề cập rằng npm 5.0 nhanh hơn 5 lần so với hầu hết các phiên bản trước đó của mô-đun npm.
Lời kết
Trên đây, Vietnix đã cùng bạn tìm hiểu Yarn là gì, cách cài đặt công cụ phần mềm Yarn và so sánh giữa Yarn npm chi tiết nhất. Mong rằng sau bài viết này, bạn sẽ sớm tìm được cho mình một Công cụ quản lý Package chuyên nghiệp! Hãy để lại bình luận phía dưới nếu bạn có bất kỳ thắc mắc nào nhé.
Từ khóa » Cài Yarn Mac
-
Hướng Dẫn Cài đặt Yarn Trên MacOS
-
Cài đặt Yarn Trong Mac
-
Installation | Yarn
-
Cách Cài đặt Yarn Trên MacOS
-
Hướng Dẫn Cài đặt NODEJS, NPM Và YARN Trên MACOS - YouTube
-
Yarn - Một Cải Tiến đáng Kể So Với NPM - Viblo
-
Sử Dụng Yarn Với Rails - Viblo
-
Hướng Dẫn Install Yarn Qua Npm Hoặc Yarnpkg - Hoclaptrinh
-
Yarn Là Gì? Tại Sao Yarn đang Thay Thế Dần Npm | TopDev
-
Giới Thiệu Về Yarn - Tech Wiki
-
Hướng Dẫn Cài đặt NODEJS, NPM Và YARN Trên MACOS
-
Cách Cài đặt Trình Quản Lý Gói Yarn JS (Node) Trên Debian 11
-
Cách Cài đặt Yarn Trên Ubuntu 18.04
-
Cách Cài đặt Yarn Trên CentOS 7