2015-08-05 17 views
6

Ich habe ein Problem mit einem Projekt, wo wir Knoten und Brunch verwenden. Das Problem ist derzeit speziell für Brunch, könnte aber für jedes Modul auftreten.Npm Installation schlägt fehl, weil Paket in der Registrierung fehlt

Der einfachste Weg, dies zu derzeit reproduzieren, ist die folgende in einem neuen Ordner zu tun:

npm init 
npm install --save-dev brunch 

Das Problem hier ist, dass Brunch am loggy abhängig, die wiederum auf ansi-Farbe abhängig ist, die kein mehr hat einen Eintrag in der npmregistry:

https://registry.npmjs.org/ansi-color

ich denke, das das gitHub Projekt sein könnte: https://github.com/loopj/commonjs-ansi-color

In jedem Fall kann ich nicht fortfahren, und alle unsere Builds scheitern, weil sie die angegebene Abhängigkeit nicht abrufen können.

Ich könnte vielleicht npm shrinkwrap in irgendeiner Weise verwenden, aber das hängt von den Modulen ab, die bereits in node_modules existieren, die ich derzeit vermisse.

Also, wie kann ich NPM zwingen, Ansi-Farbe von einem anderen Ort zu verwenden, oder ignorieren Sie die Abhängigkeit?

Antwort

2

Nicht sicher über npm 2, aber Sie können dies mit Beta npm 3 beheben. Npm 3 hat flache Knoten modules. So können Untermodule in der obersten Ebene sitzen. Lesen Sie die Changelog.

Die fehlenden Module können direkt von ihrem Github Repo als eine Toplevel-Abhängigkeit in Ihrem Projekt installiert werden. Wenn npm das Modul mit der gleichen Version im Verzeichnis node_modules findet, sucht es in der Registrierung nicht mehr danach.

Installieren npm 3:

npm install -g [email protected] 

Dann Depencies installieren:

//install missing module from other location 
npm install https://github.com/loopj/commonjs-ansi-color.git --save-dev 
npm install --save-dev brunch 
Verwandte Themen