2016-05-10 40 views
5

Tôi có rất nhiều devdepencencies trong kịch bản npm của tôi. npm install mất một vài phút lần đầu tiên, đó là ok.NPM: Chỉ cài đặt bị thiếu - làm thế nào để tăng tốc độ npm cài đặt

Nhưng vì tôi đang tích hợp với máy chủ xây dựng TFS, nên chỉ cần cài đặt npm một lần. Sau đó, cài đặt npm chỉ lãng phí thời gian bởi vì phải mất 2-3 phút để xác định các gói đã được cài đặt. Ngoài ra, có vẻ như luôn cài đặt lại các gói bằng -g cờ toàn cầu, ngay cả khi có sẵn.

Tôi làm cách nào để kiểm tra xem các gói có tồn tại không và nếu có, hãy bỏ qua cài đặt npm?

+0

Bạn có đang sử dụng tác nhân tạo lưu trữ không? –

Trả lời

5

Bạn có thể sử dụng npm-cache làm cách thay thế nếu bạn sử dụng on-premise build agents để tạo.

Thật hữu ích khi xây dựng quy trình chạy [npm | bower | composer | jspm] cài đặt mọi lúc như một phần của quá trình xây dựng. Vì phụ thuộc không thay đổi thường xuyên, điều này thường có nghĩa là thời gian tạo chậm hơn. npm-cache giúp giảm bớt vấn đề này bằng cách lưu vào bộ nhớ đệm đã cài đặt trước đó phụ thuộc vào máy xây dựng. npm-cache có thể là một sự thay thế cho việc thay thế cho bất kỳ tập lệnh xây dựng nào chạy [npm | bower | composer | jspm] cài đặt.

Phương thức hoạt động

Khi bạn chạy NPM-cache cài đặt [NPM | Chòi chơi | jspm | nhà soạn nhạc], nó đầu tiên tìm kiếm package.json, bower.json, hoặc composer.json trong hiện tại thư mục làm việc tùy thuộc vào người quản lý phụ thuộc được yêu cầu. Sau đó, nó tính toán số băm MD5 của tệp cấu hình và trông cho một tệp có tên .tar.gz trong thư mục bộ nhớ cache ($ HOME/.package_cache theo mặc định). Nếu tệp không tồn tại, npm-cache sẽ sử dụng trình quản lý phụ thuộc được cài đặt của của hệ thống để cài đặt các phụ thuộc. Khi các phụ thuộc được cài đặt, bộ nhớ cache npm-cache sẽ tải xuống các phụ thuộc mới được tải xuống và lưu trữ chúng trong thư mục bộ nhớ cache. Lần sau npm-cache chạy và thấy cùng một tệp cấu hình, nó sẽ tìm thấy tarball trong thư mục bộ nhớ cache và gỡ bỏ các phụ thuộc trong thư mục làm việc hiện tại.

Và bạn cũng có thể thử với npm-install-missing. Tuy nhiên, nếu bạn đang sử dụng VSTS Hosted Build Agent, thì bạn không thể làm điều này vì mỗi khi bạn xếp hàng một bản dựng với Hosted Build Agent, một tác nhân xây dựng sạch sẽ được gán cho bản dựng. Quay lại đầu trang |||| Điều đó có nghĩa là không có gói phụ thuộc được cài đặt trên tác nhân. Bạn cần thực hiện cài đặt npm hoàn chỉnh.

+0

Cảm ơn bạn đã giải thích điều đó. Ước gì tôi có thể sử dụng cùng một tác nhân xây dựng với hồ sơ người dùng của riêng tôi mỗi lần. Không có vấn đề gì bởi vì chúng ta sẽ chuyển sang TFS nội bộ, nó sẽ làm việc với npm-cache vì tác nhân giống nhau ở mỗi bản dựng. – TetraDev

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