Làm thế nào để tránh cài đặt các gói trong monorepo bằng cách sử dụng Sợi


10

Tôi đã xây dựng một monorepo bằng cách sử dụng không gian làm việc LernaSợi .

Mọi thứ đều hoạt động tốt nhưng mỗi khi tôi cài đặt một phụ thuộc mới vào một gói (hãy gọi anh ta là A ) bằng cách sử dụng:

yarn add <package_name>

Sợi thêm nó và sau đó kích hoạt installtập lệnh của tất cả các gói trong monorepo, ngay cả các gói mà A không dựa vào.

Nó có cách nào để tránh điều này? Phải mất một chút thời gian để cài đặt chúng mà không có lý do nào cả.


Vì vậy, bạn đã sử dụng cả gói Lerna và Sợi? Tại sao không chỉ là Lerna? Ngoài ra, bạn đã thử thêm gói với Lerna và đặt phạm vi chưa? github.com/lerna/lerna/tree/master/commands/add
kbariotis

Tôi sử dụng Lerna để xuất bản và phiên bản các gói và không gian làm việc của tôi để dễ dàng quản lý các phụ thuộc. Tôi đã thử đề xuất của bạn và nó đã không làm việc. Cảm ơn bạn đã cố gắng :)
Erazihel

Câu trả lời:


4

Hãy thử thêm vào không gian làm việc cụ thể với: -

yarn workspace <workspace_name> add <package_name>

Đối với một số tài liệu kiểm tra ở đây


Tôi không muốn cài đặt phụ thuộc vào toàn bộ không gian làm việc mà chỉ cho một gói
Erazihel

4

Bạn có thể thử Sợi 2 với nodeLinker: node-modulestrong .yarnrc.yml. Sợi 2 đảm bảo chỉ kích hoạt xây dựng lại trên các gói bị thay đổi phụ thuộc, đây là điều không được đảm bảo bởi Sợi 1. Tuy nhiên, vẫn sẽ có một trường hợp rất hiếm khi các gói dường như không liên quan được xây dựng lại nếu chúng được nâng lên khác nhau sau khi thêm gói mới , nhưng điều này sẽ rất hiếm khi xảy ra.


Tôi đã thử đề xuất của bạn nhưng có vẻ như không may kết quả vẫn như vậy ...: /
Erazihel

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.