Install Yarn là bước không thể thiếu nếu bạn muốn tăng tốc quy trình phát triển ứng dụng JavaScript và quản lý phụ thuộc hiệu quả. Với ưu điểm tốc độ, bảo mật và khả năng làm việc ngoại tuyến, Yarn đang trở thành lựa chọn hàng đầu thay thế hoặc bổ trợ npm.
Đọc bài viết sau để được giải đáp chi tiết hơn về:
- Vỉ sao cần install Yarn để quản lý gói?
- Hướng dẫn 4 cách cài đặt Yarn bằng corepack trên các hệ điều hành
- Hướng dẫn nâng cấp từ Yarn Classic lên Yarn Berry mới nhất.
- Hướng dẫn cách cài đặt package bằng cách sử dụng Yarn và tạo một dự án mẫu.
Yarn là gì?
Yarn là một trình quản lý gói (package manager) tương tự như npm. Yarn được giới thiệu vào năm 2016 bởi Sebastian McKenzie, là sản phẩm hợp tác của Meta (Facebook), Exponent (Expo.dev), Google và Tilde, và hiện được cộng đồng mã nguồn mở duy trì.
Lý do ra đời của Yarn là để cải thiện các vấn đề về hiệu năng và bảo mật mà npm thời điểm đó gặp phải. Các lệnh của Yarn gần giống với npm, nên việc làm quen không tốn nhiều thời gian. Cả hai đều sử dụng chung file package.json, vì vậy bạn có thể chuyển sang Yarn mà không cần thay đổi cấu trúc dự án hiện tại.
Một số công dụng nổi bật của Yarn có thể kể đến như:
- Cài đặt dự đoán được: Yarn khóa chính xác phiên bản và mã kiểm tra (checksum) của các gói, giúp tránh tình trạng dự án chạy tốt ở môi trường dev nhưng bị lỗi ở production do các thay đổi nhỏ trong phiên bản phụ thuộc.
- Offline Mode: Yarn tự động lưu cache các gói đã tải về, cho phép bạn cài lại các phụ thuộc ngay cả khi không có internet. Điều này rất hữu ích khi làm việc ở nơi không có mạng (như trên máy bay), hoặc khi registry bị gián đoạn.
- Cài đặt nhanh hơn: Khác với các trình quản lý cũ cài từng gói một, Yarn tải nhiều gói cùng lúc, giúp tăng tốc quá trình cài đặt, đặc biệt là với những dự án lớn.
- Độ tin cậy cao hơn: Nếu việc tải một gói bị lỗi do mạng, Yarn sẽ tự động thử lại với các nguồn thay thế, thay vì dừng toàn bộ quá trình. Điều này rất quan trọng trong các hệ thống CI/CD và triển khai tự động.
- Ổn định lâu dài: Một khi đã cài đặt thành công, Yarn đảm bảo dự án của bạn sẽ tiếp tục hoạt động ổn định trong tương lai, không lo bị thay đổi bất ngờ do dependency bị cập nhật.
Xem chi tiết: Yarn là gì? Tìm hiểu về Yarn Package Manager trong JavaScript
Cách cài đặt Yarn bằng corepack trên các hệ điều hành
Tùy theo hệ điều hành và môi trường làm việc, bạn có thể lựa chọn nhiều cách cài đặt khác nhau để tối ưu hiệu suất và sự tiện lợi. Phổ biến nhất hiện nay là sử dụng Corepack – công cụ đi kèm trong Node.js, giúp quản lý Yarn đồng bộ theo từng dự án.
Dưới đây là hướng dẫn chung để cài đặt Yarn bằng corepack và hướng dẫn cài đặt corepack theo từng hệ điều hành Windows, macOS và Linux:
Cách cài đặt Yarn bằng corepack (chung cho mọi hệ điều hành)
Trước đây nhiều lập trình viên thường cài Yarn bằng npm. Tuy nhiên, kể từ Yarn 2 trở đi, cách này không còn được khuyến khích nữa. Giờ đây, Yarn được quản lý thông qua Corepack – một công cụ đi kèm với Node.js, giúp bạn đảm bảo mỗi dự án sẽ sử dụng đúng phiên bản Yarn cần thiết.
Đầu tiên, hãy cài đặt Corepack (nếu máy bạn chưa có) và kích hoạt nó:
npm install -g corepack
corepack enable
Tiếp theo, bạn có thể thiết lập phiên bản Yarn phù hợp cho dự án của mình:
cd projects/my-project # di chuyển đến thư mục dự án
yarn set version stable
yarn install
MacOS
Để thực hiện cài đặt yarn trên hệ điều hành MacOS, bạn cũng tiến hành cài đặt corepack. Thông thường, corepack được tích hợp sẵn từ Node.js 16.10 trở lên. Tiếp theo bạn tiến hành mở Terminal và chạy:
node -v
Tuy nhiên, mặc định corepack có thể bị tắt, bạn cần bật bằng lệnh:
corepack enable
Sau đó tiến hành lựa chọn phiên bản Yarn ổn định với lệnh:
corepack prepare yarn@stable --activate
Cuối cùng xác minh Yarn đã cài thành công với:
yarn -v
Debian/Ubuntu
Debian và Ubuntu là hai trong số những bản phân phối Linux phổ biến nhất, nổi tiếng với tính ổn định, bảo mật và cộng đồng hỗ trợ rộng lớn. Ubuntu được xây dựng dựa trên Debian, kế thừa kho phần mềm phong phú và khả năng tương thích cao, đồng thời tối ưu hóa trải nghiệm cho người dùng phổ thông lẫn nhà phát triển. Nhờ hệ thống quản lý gói mạnh mẽ như APT, việc cài đặt và cập nhật phần mềm trên Debian/Ubuntu trở nên nhanh chóng và linh hoạt, đặc biệt phù hợp cho các dự án Node.js và Yarn.
Tương tự với cài đặt trên MacOS, để cài đặt Yarn trên Debian hay Ubuntu, bạn sẽ cần cài đặt corepack trước. Corepack yêu cầu phiên bản Nodejs từ 16.10 trở lên, do đó hãy đảm bảo bạn đã cài đặt phiên bản mới nhất của Nodejs để có thể sử dụng corepack.
Tiếp theo, khởi động corepack bằng lệnh:
corepack enable
Nếu corepack không có sẵn trên hệ thống, bạn có thể cài đặt bằng cách sử dụng câu lệnh:
sudo npm install -g corepack
Tiếp theo tiến hành cài đặt phiên bản mới nhất của Yarn bằng câu lệnh bên dưới:
corepack prepare yarn@stable --activate
Cuối cùng, xác minh Yarn đã được cài thành công:
yarn -v
Windows
Chi tiết các bước cài đặt Yarn trên Windows như sau:
- Kiểm tra phiên bản Node.js: Mở Command Prompt và gõ
node -v
. Nếu phiên bản từ 16.10 trở lên thì có thể tiếp tục. - Kích hoạt Corepack: Chạy lệnh sau trong Command Prompt
corepack enable
. - Xác minh cài đặt: Gõ
yarn -v
để kiểm tra phiên bản Yarn đã được cài. Nếu thành công, màn hình sẽ hiển thị số phiên bản. - Khởi tạo dự án: Nếu bạn bắt đầu một dự án mới, có thể khởi tạo bằng lệnh
yarn init -2
. - Quản lý dependencies: Sử dụng lệnh để thêm dependencies vào dự án bằng câu lệnh yarn add <tên-package>.
Bảng sau giúp tóm tắt ưu – nhược điểm của việc cài đặt Yarn bằng corepack trên các hệ điều hành:
Hệ điều hành | Ưu điểm | Nhược điểm |
macOS | Tích hợp tốt với macOSCài đặt nhanh gọn | Chỉ dùng được khi Node.js có corepack (phiên bản mới). |
Debian/ Ubuntu | Tích hợp tốt với hệ Debian/UbuntuKhông cần cài Yarn qua npm hoặc apt, tránh lỗi phiên bản cũ trong kho APT.Đồng bộ chính xác phiên bản Yarn theo dự án, dễ quản lý dependencies. | Một số dự án cũ vẫn hướng dẫn dùng npm/apt, gây nhầm lẫn khi setup môi trường. |
Windows | Dễ sử dụng trong Command Prompt hoặc PowerShell, đồng bộ với Node.js.Hỗ trợ tốt cho quản lý dependencies trong dự án mới. | Có thể bị xung đột giữa các phiên bản. |
Hướng dẫn nâng cấp từ Yarn Classic lên Yarn Modern Berry
Khi sử dụng Yarn, để tránh bỏ lỡ những tính năng mới thuận tiện hơn cho việc lập trình, bạn sẽ cần chuyển (migrate) các dự án của mình từ Yarn Classic sang Yarn Berry 2.0 hoặc 3.0 (khuyến nghị Yarn 4, Node 18+). Để thực hiện nâng cấp, đầu tiên, bạn sẽ cần kích hoạt Corepack của Node.js.
Nếu bạn đang dùng Node.js từ 16.10, chỉ cần chạy lệnh:
corepack enable
Tuy nhiên, nếu bạn dùng phiên bản nodejs cũ hơn và chưa cài đặt Corepack thì hãy cài lệnh
npm i -g corepack
Sau đó, cập nhật phiên bản Yarn toàn bộ:
corepack prepare yarn@stable --activate
Các bước migrate dự án sang Yarn Berry
Sau khi đã cài đặt và kích hoạt Corepack, tiếp theo bạn thực hiện theo quy trình như sau:
Truy cập vào thư mục dự án và bật Yarn Berry:
yarn set version stable
Nếu bạn có file .yarnrc, hãy cập nhật sang file .yarnrc.yml với định dạng YML mới như hướng dẫn tại tài liệu chính thức. Ở version mới, PnP là linker mặc định, tuy nhiên nếu cần tương thích với các công cụ cũ, bạn có thể thay đổi linker sang node_modules với lệnh như sau:
yarn config set nodeLinker node-modules
Commit tất cả các thay đổi vừa thực hiện. Chạy yarn install để cập nhật lại file lockfile. Sau đó, thêm đoạn sau vào file .gitignore để bỏ qua các file không cần thiết khi commit:
# yarn
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
!.yarn/cache
Bây giờ bạn đã có thể sử dụng Yarn Berry trong dự án của mình. Ngay cả khi các lập trình viên khác pull về, họ cũng không cần thực hiện thêm bất kỳ thiết lập nào khác nhờ vào yarnPath.
Một số điểm nổi bật trong Yarn Berry (Yarn Modern)
- Plug’n’Play (PnP): Điểm cải tiến lớn nhất là hệ thống Plug’n’Play (PnP), thay thế thư mục node_modules truyền thống bằng một tệp duy nhất .pnp.cjs. Tệp này hoạt động như một bảng tra cứu (lookup table), giúp quá trình resolve dependencies nhanh hơn và hỗ trợ các tính năng như zero-installs (commit dependencies trực tiếp vào version control).
- Zero-installs: Cho phép commit thư mục .yarn/cache và các file .pnp.* (không commit node_modules)), giúp dự án có thể chạy ngay sau khi clone mà không cần chạy yarn install.
- Hiệu năng cải thiện: Nhờ PnP và nhiều tối ưu khác, Yarn Berry nhanh và hiệu quả hơn đáng kể so với Yarn Classic.
- Quản lý workspace: Cung cấp khả năng quản lý nhiều workspace trong cùng một dự án tốt hơn, đặc biệt hữu ích cho các ứng dụng lớn và phức tạp.
- Tính năng mới: Bao gồm constraints engine (cho phép định nghĩa quy tắc cho dự án) và hệ thống plugin – các tính năng chỉ có trên Yarn Berry.
- Tương thích linh hoạt: Dù PnP là điểm nổi bật, Yarn Berry vẫn hỗ trợ cài đặt kiểu node_modules truyền thống và cơ chế cache theo địa chỉ nội dung tương tự pnpm cho những ai cần.
- Cấu hình hiện đại: Sử dụng định dạng tệp cấu hình mới .yarnrc.yml, khác với Yarn Classic.
Cài đặt package bằng cách sử dụng Yarn
Để cài đặt một package bằng Yarn, bạn hãy sử dụng câu lệnh yarn add [package_name], thay thế [package_name] bằng tên gói mà bạn muốn cài đặt.
Ví dụ để cài đặt framework Express.js cho các ứng dụng Node.js, hãy sử dụng lệnh yarn add express. Kết quả hiển thị sẽ như sau:
YN0000: ┌ Resolution step
YN0002: │ express@npm:4.18.2 doesn't provide supports-color requested by debug@npm:2.6.9
YN0000: └ Completed in 1.12s
YN0000: ┌ Fetch step
YN0013: │ 38 packages were cached, 0 had to be fetched
YN0000: └ Completed in 0.45s
YN0000: ┌ Link step
YN0000: └ Completed in 0.39s
YN0000: Done with warnings in 2.14s
Quá trình cài đặt package trong Yarn Modern bao gồm 3 bước chính:
- Resolution step: Xác định phiên bản chính xác của package và toàn bộ dependencies.
- Fetch step: Yarn tải gói từ registry hoặc lấy từ cache (nếu đã tải trước đó).
- Link step: Liên kết dependencies vào dự án bằng Plug’n’Play (PnP) hoặc node_modules (tùy cấu hình).
Tạo một dự án mẫu trong Yarn
Để hiểu rõ hơn về cách vận hành một dự án cũng như cài đặt Yarn, bạn có thể tham khảo qua các bước tạo một dự án cơ bản như sau:
Tạo thư mục cho dự án
Trước khi bắt đầu làm việc với Yarn, bạn cần có một thư mục riêng để chứa toàn bộ mã nguồn và cấu hình dự án. Điều này giúp quản lý code gọn gàng, tránh xung đột với các dự án khác trên máy.
Để tạo thư mục mới, chạy lệnh:
mkdir sample-yarn-project
Tiếp theo, di chuyển vào thư mục vừa tạo:
cd sample-yarn-project
Kích hoạt corepack và khởi tạo dự án với Yarn
Corepack là công cụ được tích hợp sẵn trong Node.js, giúp quản lý phiên bản của các trình quản lý gói.
corepack enable
Yarn cung cấp lệnh yarn init để tạo file package.json và .yarnrc.yml. Ngoài ra, hệ thống sẽ tương tác và hỏi bạn một số thông tin như tên dự án, phiên bản, mô tả. Đây là bước quan trọng để Yarn có thể quản lý gói và cấu hình dự án của bạn.
Chạy lệnh: yarn init -2
Sau đó, bạn tiến hành cài đặt Yarn Berry theo cú pháp:
cd /path/to/your/project
yarn set version stable
Cài đặt dependencies (tuỳ chọn)
Nếu bạn đã có file package.json với dependencies từ dự án trước, hoặc khởi đầu bằng một template, hãy chạy lệnh sau để tải và liên kết chúng.
yarn install
Tạo file JavaScript index.js trong thư mục dự án
Bây giờ sẽ thử dùng lodash để viết một đoạn code đơn giản. Nếu dự án của bạn chưa cài lodash, hãy chạy lệnh sau để cài đặt:
yarn add lodash
Hãy tạo file index.js bằng lệnh nano index.js và thêm nội dung như sau:
// index.js
const _ = require('lodash');
console.log(_.capitalize('This is the sample yarn project!'));
Trong đoạn code này, hàm _.capitalize()
của lodash sẽ viết hoa chữ cái đầu tiên của chuỗi.
Chạy file JavaScript
Để xem kết quả, bạn hãy chạy lệnh node index.js. Và kết quả hiển thị như sau:
[root@yarn-alma sample-yarn-project]# yarn node index.js
This is the sample yarn project!
Nếu bạn thấy chuỗi được in ra với chữ cái đầu viết hoa, nghĩa là mọi thứ đã hoạt động đúng.
Thêm scripts vào file package.json (tùy chọn)
Để rút gọn việc chạy lệnh thường dùng, bạn có thể thêm scripts vào package.json. Ví dụ, thêm script để chạy file index.js:
"scripts": {
"start": "node index.js"
}
Sau đó, chạy script bằng lệnh:yarn start. Kết quả hiển thị như sau:
[root@yarn-alma sample-yarn-project]# yarn start
yarn run v3.6.1
$ node index.js
This is the sample yarn project!
Done in 0.15s.
Các câu hỏi thường gặp về cách cài đặt Yarn
Làm thế nào để cập nhật hay gỡ cài đặt Yarn?
Nếu bạn cài đặt Yarn bằng bằng gói RPM của Yarn thì có thể sử dụng câu lệnh: sudo dnf update yarn. Hoặc nếu cài đặt bằng npm thì hãy sử dụng câu lệnh sau để cập nhật các phiên bản mới nhất của Yarn:
npm install -g yarn
Tương tự, nếu bạn muốn gỡ cài đặt Yarn bằng gói RPM thì sử dụng câu lệnh:
sudo dnf remove yarn
Và nếu cài đặt bằng npm thì câu lệnh sau sẽ phù hợp hơn:
npm uninstall -g yarn
Có thể cài đặt Yarn mà không cần cài Node.js không?
Câu trả lời là không, bạn không thể cài đặt và sử dụng Yarn mà không có Node.js. Yarn là một trình quản lý gói (package manager) được xây dựng để hoạt động cùng với Node.js, vì vậy nó phụ thuộc vào môi trường Node.js để chạy. Khi cài đặt Yarn, bạn cần đảm bảo rằng Node.js đã được cài trên máy, nếu không các lệnh của Yarn sẽ không thể thực thi.
Nếu bạn chưa có Node.js, hãy tải và cài đặt từ trang chính thức của Node.js hoặc sử dụng công cụ Corepack (được tích hợp sẵn trong Node.js từ phiên bản 16.10 trở lên) để cài đặt Yarn dễ dàng hơn.
Tại sao Yarn trên npm vẫn ở phiên bản 1x?
Các bản phát hành hiện đại của Yarn không còn được phân phối trên npm kể từ năm 2019. Bởi vì Yarn không được phân phối kèm với Node.js, nhiều người đã phụ thuộc vào lệnh như npm install -g yarn trong quá trình xây dựng môi trường. Điều này có nghĩa là bất kỳ thay đổi gây lỗi nào cũng sẽ ảnh hưởng trực tiếp đến tất cả những ai sử dụng cách này và làm gián đoạn quá trình triển khai của họ.
Do đó, Yarn được dừng cập nhật trên npm và chỉ dùng nó cho một số bản phát hành bảo trì 1.x cần thiết. Hiện tại, Yarn được cài đặt trực tiếp từ trang web chính thức https://yarnpkg.com/ thông qua Corepack hoặc lệnh sau:
yarn set version
Sự khác nhau giữa cài Yarn bằng npm và dùng trình quản lý gói của hệ thống là gì?
Sự khác nhau giữa cài Yarn bằng npm và sử dụng trình quản lý gói của hệ thống nằm ở cách phân phối và quản lý phiên bản.
- Cài Yarn bằng npm (
npm install -g yarn
) sẽ tải và cài đặt Yarn như một gói JavaScript toàn cục. Cách này phổ biến, dễ thực hiện nhưng phụ thuộc vào npm và Node.js. Các bản cập nhật cũng phải thực hiện qua npm. - Cài Yarn bằng trình quản lý gói của hệ thống (như apt, dnf, brew…) sẽ tích hợp Yarn vào hệ điều hành, giúp dễ quản lý phiên bản và cập nhật thông qua chính trình quản lý đó. Cách này phù hợp với những ai muốn giữ môi trường đồng nhất và dễ bảo trì trên nhiều máy.
Tóm lại, npm tiện lợi cho người quen làm việc trong môi trường JavaScript, trong khi trình quản lý gói hệ thống phù hợp cho quản trị viên hoặc môi trường máy chủ cần tính ổn định cao.
Tổng kết về install Yarn
Install yarn không chỉ giúp bạn cài một công cụ mới mà còn mở ra trải nghiệm lập trình mượt mà hơn. Khi thiết lập đúng cách, Yarn giúp cài đặt nhanh hơn, giảm xung đột phụ thuộc và đảm bảo sự ổn định cho môi trường làm việc. Hy vọng với những thông tin được cập nhật trong bài viết sẽ giúp bạn hiểu rõ hơn về install Yarn cũng như tận dụng tối đa lợi ích mà Yarn mang lại cho dự án của bạn.