2013-02-28 10 views
32

Ich habe ein Projekt, das von mehreren Third-Party-Bibliotheken abhängt.npm installiere git repository ohne package.json

Mein package.json wie folgt aussieht:

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

Diese so lange funktioniert, wie das vendor-name Repository ein package.json enthält.

Wenn es gibt nicht eine solche Datei, die ich erhalten:

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

Eigentlich ein npm install git://github.com/vendor/name.git#v1.1 funktioniert nicht, auch.

Also meine Frage ist: Gibt es eine Möglichkeit (enthalten) git Repositories (im dependencies) zu installieren, die keine package.json haben Sie?

+2

Ich glaube nicht, dass das möglich ist. Wenn der Repo nicht deins ist, forkst du ihn und fügst ihm deine eigene Datei 'package.json' hinzu. Vielleicht reichen Sie sogar eine Pull-Anfrage ein. –

+0

Ich dachte über die Verwendung von Napa wie vorgeschlagen, aber Ihre Lösung ist meiner Meinung nach besser. –

Antwort

8

Was napa scheint tun overengineered zu werden. Ich denke, nur das Installieren von Skript in das Paket.json ist genug für Sie.

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

Dies kann zu einem Problem führen, wenn Sie es erneut ausführen, da der Klon wahrscheinlich fehlschlägt. – Danosaure

Verwandte Themen