2017-01-26 19 views
6

Dự án của tôi có một sự phụ thuộc mà đôi khi tôi nhận được từ một máy chủ gói và đôi khi nhận được từ một bản sao cục bộ mà tôi có trên máy của mình. Kết quả là, tôi thường xuyên cần phải có chuyển đổi sợi, nơi nó tìm kiếm sự phụ thuộc. Hơn nữa, tôi thường thay đổi bản sao địa phương của sự phụ thuộc và cần phải thấy sự thay đổi đó được phản ánh trong dự án chính của tôi. Kết quả là, tôi cần một cách để nói cho Yarn tiếp tục tìm kiếm cùng một vị trí cho sự phụ thuộc, nhưng để cài đặt lại phụ thuộc, bỏ qua bộ đệm và lấy nó trực tiếp từ nguồn hiện tại, ngay cả khi số phiên bản không thay đổi. (Đôi khi tôi muốn thử những thay đổi nhỏ đối với sự phụ thuộc và cập nhật số phiên bản mỗi lần nhanh chóng trở nên khó chịu.)Làm cách nào để buộc Sợi cài đặt lại gói?

Làm cách nào để làm như vậy?

Tôi đã thử những điều sau đây, nhưng không ai trong số họ làm việc:

yarn remove dependency 
yarn add file:/dependency 

Tiếp tục sử dụng phiên bản trước của sự phụ thuộc.

yarn remove dependency 
yarn cache clear 
yarn add file:/dependency 
yarn install --force 

Cũng tiếp tục sử dụng phiên bản phụ thuộc trước đó.

yarn remove dependency 
rm -rf node_modules/ 
yarn cache clear 
yarn add file:/dependency 
yarn install --force 

Vẫn tiếp tục sử dụng phiên bản phụ thuộc trước đó.

Làm cách nào để đảm bảo rằng Sợi đang sử dụng phiên bản phụ thuộc mới nhất của tôi?

+0

Tôi đã nói chuyện này trong trò chuyện về câu hỏi này: http://chat.stackoverflow.com/rooms/17/hội thoại/cài đặt lại-địa phương-phụ thuộc-in-sợi Lời khuyên tôi có trong cuộc trò chuyện này đôi khi hoạt động, nhưng tôi có một thời gian khó cập nhật liên tục phụ thuộc địa phương của tôi. – Kevin

+0

Xóa thư mục node_modules của bạn, cập nhật package.json của bạn với phiên bản thích hợp và cài đặt lại mọi thứ. Sợi là nhanh; nó sẽ chỉ mất vài giây. –

+0

@EzraChang Như tôi đã thảo luận trong câu hỏi của mình, tôi đã thử điều đó và nó đã không hoạt động. – Kevin

Trả lời

5

Bạn có thể sử dụng yarn link command. Điều này sẽ thiết lập phụ thuộc địa phương của bạn để bất cứ khi nào bạn thực hiện thay đổi về sự phụ thuộc, nó ngay lập tức xuất hiện trong dự án chính của bạn mà không cần phải làm bất cứ điều gì khác để cập nhật nó.

Nếu dự án chính của bạn là ở ~/programming/main và sự phụ thuộc của bạn là trong ~/programming/dependency và được đặt tên MyLocalDependency, bạn sẽ muốn:

1) Chạy yarn link (không có cờ bổ sung) từ bên trong sự phụ thuộc của bạn:

cd ~/programming/dependency 
yarn link 

2) Run yarn link <name of dependency package> từ bên trong dự án chính của bạn:

cd ~/programming/main 
yarn link MyLocalDependency 

Và bạn đã hoàn tất!

Nếu bạn muốn chuyển từ bản sao phụ thuộc địa phương sang phụ thuộc được lưu trữ ở nơi khác, bạn có thể sử dụng yarn unlink.

cd ~/programming/main 
yarn unlink MyLocalDependency 
cd ~/programming/dependency 
yarn unlink 
12

Cài đặt lại một gói sau chỉ xóa các module nút làm việc với:

yarn install --check-files

Các vấn đề liên quan