Ich habe kürzlich Node.js und das npm-Modul unter OSX installiert und habe ein Problem mit den Einstellungen, die ich denke:
npm install [MODULE] is not installing the node.js module to the default path
which is /usr/local/lib/node_modules.
Wenn Sie ein npm-Modul global installieren möchten, stellen Sie sicher, dass Sie das neue -g
Flag verwenden, zum Beispiel:
npm install forever -g
Die allgemeinen Empfehlungen zur Installation des npm-Moduls seit 1.0rc (entnommen aus blog.nodejs.org ):
- Wenn Sie etwas installieren, das Sie in Ihrem Programm verwenden möchten, verwenden Sie require ('was auch immer'), und installieren Sie es lokal im Stammverzeichnis Ihres Projekts.
- Wenn Sie etwas installieren, das Sie in Ihrer Shell, in der Befehlszeile oder so verwenden möchten, installieren Sie es global , sodass die Binärdateien in Ihrer PATH-Umgebungsvariablen landen.
Ich habe diese Empfehlungen erst kürzlich verwendet und sie sind ziemlich reibungslos verlaufen. Ich habe für immer global installiert (da es sich um ein Befehlszeilentool handelt) und alle meine Anwendungsmodule lokal installiert.
Wenn Sie jedoch einige Module global verwenden möchten (z. B. Express oder Mongodb), befolgen Sie diese Hinweise (auch von blog.nodejs.org ):
Natürlich gibt es einige Fälle, in denen Sie beides tun möchten. Coffee-Script und Express sind gute Beispiele für Apps mit einer Befehlszeilenschnittstelle sowie einer Bibliothek. In diesen Fällen können Sie einen der folgenden Schritte ausführen:
- Installieren Sie es an beiden Stellen . Im Ernst, haben Sie so wenig Speicherplatz? Es ist wirklich in Ordnung. Es sind winzige JavaScript-Programme.
- Installieren Sie es global und dann npm link Coffee-Script oder npm Link Express (wenn Sie sich auf einer Plattform befinden, die symbolische Links unterstützt). Dann müssen Sie nur die globale Kopie aktualisieren, um auch alle Symlinks zu aktualisieren.
Die erste Option ist meiner Meinung nach die beste. Einfach, klar, explizit. Die zweite ist sehr praktisch, wenn Sie dieselbe Bibliothek in einer Reihe verschiedener Projekte wiederverwenden möchten. (Mehr zum npm-Link in einer zukünftigen Folge.)
Ich habe eine dieser Variationen nicht getestet, aber sie scheinen ziemlich einfach zu sein.
npm prefix
, um das lokale Präfix zu erhalten undnode prefix -g
das globale PräfixAuf einem Mac stellte ich fest, dass die Ausgabe die gesuchten Informationen enthielt:
Nachdem ich
/usr/local/share/npm/bin
dieexport PATH
Zeile in meinem hinzugefügt.bash_profile
, gespeichert undsource
gespeichert hatte, konnte ich ausgeführt werdennormalerweise.
quelle
Ich verwende gerne eine package.json-Datei im Stammverzeichnis Ihres App-Ordners.
Hier ist eine, die ich benutze
http://pastie.org/3232212
quelle
Ich hatte Probleme bei der Installation von Express unter Ubuntu:
Wenn aus irgendeinem Grund der NPM-Befehl fehlt, testen Sie den Befehl npm mit
npm help
. Wenn nicht, folgen Sie diesen Schritten - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntuWenn nur der Express-Befehl nicht funktioniert, versuchen Sie:
Dadurch funktionierte alles so, wie ich es von Windows7 und OSX gewohnt bin.
Hoffe das hilft!
quelle
Sie müssen über Superuser-Berechtigungen verfügen.
quelle
Legen Sie in Ubuntu den Pfad von node_modules in der .bashrc- Datei fest
quelle
Möglicherweise verfügen Sie nicht über Schreibberechtigungen, um ein Knotenmodul am globalen Speicherort zu installieren.
/usr/local/lib/node_modules
Führen Sie in diesem Fall das Paket npm install -g als root aus.quelle