2013-08-13 38 views
6

Tôi đã tìm kiếm chủ đề này trong thời gian dài, hiện tại tất cả các giải pháp và ví dụ đều hoạt động trong git, nhưng không có giải pháp trực tiếp cho Mercurial.URL gói NPM dưới dạng phụ thuộc trong mercurial (bitbucket)

Ví dụ làm việc được lấy từ một liên kết tương tự.

"private": true 
to your package.json 

Then to reference private npm module in package.json 

{ 
    "name": "myapp", 
    "dependencies": { 
     "private-repo": "git+ssh://[email protected]:myaccount/myprivate.git#v1.0.0", 
    } 
} 

Như tôi đã đọc từ trang NPM chính thức này tất cả chỉ làm việc với git https://npmjs.org/doc/json.html#Git-URLs-as-Dependencies

Vậy làm thế nào để làm điều tương tự trong Mercurial hoặc hiện nó có vẻ là có thể chỉ với Git?

+0

Không có câu hỏi thực tế nào trong câu hỏi của bạn. –

+0

có, lỗi của tôi đã thêm dòng cuối cùng –

Trả lời

1

NPM hỗ trợ git nhưng không hỗ trợ Mercurial. Bạn có thể sử dụng một cái gì đó như Kiln để lưu trữ kho lưu trữ của bạn, cho phép truy cập như Mercurial hoặc git, nhưng thất bại mà bạn sẽ phải sao chép vào NPM cục bộ và điểm tại đó.

9

Nếu bạn sử dụng Bitbucket để lưu trữ Mercurial repo của dự án, nó cung cấp liên kết để tải xuống ảnh chụp nhanh dự án của bạn dưới dạng tệp tar.gz. Các URL này are actually usable trong các phụ thuộc package.json.

Ví dụ, pagedown dự án của download page tôi có một liên kết đến URL này cho một bản chụp đã giải nén trong những thay đổi default chi nhánh mới nhất:

https://bitbucket.org/ncraike/pagedown/get/default.tar.gz 

như vậy trong một dự án khác của package.json, tôi có thể chỉ định:

"dependencies": { 
    "pagedown": "https://bitbucket.org/ncraike/pagedown/get/default.tar.gz" 
} 

npm xử lý tiền phạt này khi tôi thực hiện một gói npm install từ gói phụ thuộc, cài đặt nó đúng cách vào thư mục con node_modules.

Đây không phải là giải pháp chung cho các kho lưu trữ Mercurial (và tôi đồng ý sẽ tốt nếu npm chấp nhận URL Mercurial) nhưng đây có thể là giải pháp hợp lý nếu bạn đang sử dụng Bitbucket hoặc một trang tương tự để lưu trữ .

+1

Có vẻ như bạn có thể sử dụng điều này để truy xuất phiên bản cụ thể bằng cách sử dụng cú pháp sau cùng với các thẻ phiên bản: https://bitbucket.org/USERNAME/MODULENAME/get/TAG.tar. gz Bạn có thể tìm thấy các URL này trên trang tải xuống trong tab thẻ. – jdp

+0

Ah. Trên thực tế, có, các phiên bản cụ thể có thể được ưa thích, do đó, các phụ thuộc của bạn ổn định và được kiểm tra và không thay đổi bất ngờ (ví dụ: bất cứ khi nào ai đó cam kết mặc định). –

+5

Đối với các bản repos riêng tư, làm cách nào để cung cấp thông tin đăng nhập mà không cần đặt chúng vào package.json? – kierans

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