2013-06-19 26 views
6

Tôi đã sao chép một số gói npm từ github và đặt gói vào thư mục cục bộ, ví dụ:Cách cập nhật gói npm từ một thư mục cục bộ

c:\git\package 

Tôi đã sử dụng "npm install -g" để cài đặt gói, hoạt động thực sự tốt.

npm install -g c:\git\package 

Tuy nhiên, khi tôi thực hiện một số thay đổi trong mã của gói, ví dụ: kiểm tra một số chi nhánh. Tôi không thể sử dụng "cập nhật npm" để cập nhật gói đã cài đặt. Tôi đã thử:

npm update -g 

npm update -g packagename 

hoặc

npm update -g folderpath 

Không làm việc. Tôi phải sử dụng "npm install" để cài đặt lại nó một lần nữa để cập nhật, đó là lãng phí thời gian để cài đặt lại tất cả các phụ thuộc.

Tại sao npm chỉ hỗ trợ cài đặt từ thư mục nhưng không cập nhật từ thư mục? Nếu nó hỗ trợ, tôi phải làm gì? Cảm ơn.

+1

Nếu tôi không nhầm, đây là liên kết 'npm' là gì. – chesles

Trả lời

8

Thay vì npm install từ thư mục cục bộ, hãy thử npm link, tạo liên kết tượng trưng được cài đặt toàn cầu vào thư mục.

Như đã nêu in the docs, đây là một quá trình gồm hai bước:

  1. Trong thư mục gói:

    $ npm link 
    

    này tạo ra một liên kết tượng trưng đến thư mục hiện tại trong thư mục cài đặt toàn cầu NPM của.

  2. Một nơi nào đó khác, nơi mà bạn muốn sử dụng các mô-đun:

    $ npm link <pkgname> 
    

    này sẽ tạo ra một liên kết tượng trưng trong thư mục node_modules/ của dự án của bạn để cài đặt toàn cầu.

+0

Đẹp, nó hoạt động như một sự quyến rũ! Một câu hỏi nữa, nếu tôi chỉ cần sử dụng gói trên toàn cầu, tôi chỉ cần chạy "liên kết npm" trong thư mục gói, phải không? – bigbearzhu

+0

@bigbearzhu yep sẽ hoạt động – chesles

+0

Và làm thế nào để chúng tôi tự động hóa điều này? Khi một đồng nghiệp mới kiểm tra kho lưu trữ, anh ta chạy trực tiếp vào một ngoại lệ vì liên kết chưa được tạo .. đúng không? Giải pháp không được chấp nhận cho chúng tôi sau đó ^^ Vâng, tôi thử nó là một kịch bản cài đặt sẵn ... – jebbie

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