2013-02-28 38 views
32

Tôi có một dự án phụ thuộc vào một số thư viện của bên thứ ba.npm cài đặt kho git mà không có package.json

package.json tôi trông như thế:

"dependencies": { 
    "vendor-name": "git://github.com/vendor/name.git#v1.1", 
    ... 
} 

này hoạt động càng lâu càng kho vendor-name chứa một package.json.

Nếu có không phải là một tập tin như vậy, tôi nhận được:

npm ERR! path /var/folders/0l/temp-folder/package.json 
npm ERR! code ENOENT 

Trên thực tế, một npm install git://github.com/vendor/name.git#v1.1 không hoạt động, quá.

Vì vậy, câu hỏi của tôi là: Có cách nào để cài đặt (bao gồm) kho git (trong dependencies) mà không có một package.json?

+2

Tôi không nghĩ điều đó là có thể. Nếu repo không phải của bạn, hãy nĩa nó và thêm tệp 'package.json' của riêng bạn vào nó. Có lẽ, thậm chí gửi yêu cầu kéo. –

+0

Tôi đã nghĩ đến việc sử dụng Napa như đã đề xuất, nhưng giải pháp của bạn tốt hơn theo ý kiến ​​của tôi. –

Trả lời

8

napa gì dường như được overengineered. Tôi nghĩ rằng chỉ cần thêm kịch bản cài đặt vào package.json là đủ cho bạn.

"scripts": { 
    "install": "git clone https://github.com/vendor/name.git -b v1.1 node_modules/name" 
} 
+5

Điều này có thể gây ra sự cố khi chạy lại lần nữa vì bản sao có thể sẽ không thành công. – Danosaure

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