Antworten:
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 und node prefix -g
das globale Präfix
Auf einem Mac stellte ich fest, dass die Ausgabe die gesuchten Informationen enthielt:
$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf
Nachdem ich /usr/local/share/npm/bin
die export PATH
Zeile in meinem hinzugefügt .bash_profile
, gespeichert und source
gespeichert hatte, konnte ich ausgeführt werden
$> karma --help
normalerweise.
Ich verwende gerne eine package.json-Datei im Stammverzeichnis Ihres App-Ordners.
Hier ist eine, die ich benutze
nvm use v0.6.4
npm install
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-ubuntu
Wenn nur der Express-Befehl nicht funktioniert, versuchen Sie:
sudo npm install -g express
Dadurch funktionierte alles so, wie ich es von Windows7 und OSX gewohnt bin.
Hoffe das hilft!
Sie müssen über Superuser-Berechtigungen verfügen.
sudo npm install -g <package name>
Legen Sie in Ubuntu den Pfad von node_modules in der .bashrc- Datei fest
export PATH = "/ home / username / node_modules / .bin: $ PATH"
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.