Frage

Ich habe kürzlich Node.js und 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.
War es hilfreich?

Lösung

Wenn Sie weltweit ein NPM -Modul installieren möchten, verwenden Sie das neue -g Flagge zum Beispiel:

npm install forever -g

Die allgemeinen Empfehlungen zur Installation des NPM -Moduls seit 1.0RC (entnommen blog.nodejs.org):

  • Wenn Sie etwas installieren, das Sie in Ihrem Programm verwenden möchten, verwenden Sie erfordern (was auch immer "), dann Installieren Sie es lokal, an der Wurzel Ihres Projekts.
  • Wenn Sie etwas installieren, das Sie in Ihrer Shell verwenden möchten, in der Befehlszeile oder so, Installieren Sie es global, damit seine Binärdateien in Ihrer Pfadumgebungsvariable enden.

Ich habe diese Empfehlungen erst kürzlich verwendet und sie ist ziemlich reibungslos gelaufen. Ich habe für immer global (da es sich um ein Befehlszeilenwerkzeug handelt) und alle meine Anwendungsmodule lokal.

Wenn Sie jedoch weltweit einige Module verwenden möchten blog.nodejs.org):

Natürlich gibt es einige Fälle, in denen Sie beides tun möchten. Kaffee-Skript und Express sind beide gute Beispiele für Apps mit einer Befehlszeilenschnittstelle sowie einer Bibliothek. In diesen Fällen können Sie eine der folgenden Aussagen machen:

  • Installieren Sie es an beiden Stellen. Im Ernst, haben Sie so kurz auf dem Speicherplatz? Es ist wirklich in Ordnung. Sie 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 alle Symlinks zu aktualisieren.

Die erste Option ist meiner Meinung nach die beste. Einfach, klar, explizit. Der zweite ist sehr praktisch, wenn Sie dieselbe Bibliothek in verschiedenen Projekten wiederverwenden möchten. (Mehr zu NPM -Link in einer zukünftigen Rate.)

Ich habe eine dieser Variationen nicht getestet, aber sie scheinen ziemlich einfach zu sein.

Andere Tipps

Auf einem Mac stellte ich fest, dass die Ausgabe die Informationen enthielt, nach denen ich suchte:

$> 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

Nach dem Hinzufügen /usr/local/share/npm/bin zum export PATH Linie in meinem .bash_profile, retten, und sourceIch konnte es rennen

$> karma --help

normalerweise.

Ich benutze gerne eine Paket.json -Datei im Stammvermögen Ihres App -Ordners.

Hier ist eine, die ich benutze

nvm use v0.6.4

http://pastie.org/3232212

npm install

Ich hatte Probleme, Express auf Ubuntu zu installieren:

Wenn aus irgendeinem Grund der Befehl npm fehlt, testen Sie den Befehl npm mit npm help. Wenn nicht, befolgen Sie diese Schritte - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-buntu

Wenn nur der Expressbefehl nicht funktioniert, versuchen Sie es mit:

sudo npm install -g express

Dies ließ alles funktionieren, wie ich es mit Windows7 und OSX gewohnt bin.

Hoffe das hilft!

Setzen Sie in Ubuntu den Pfad der NODE_MODULES in .Bashrc Datei

exportpath = "/home/userername/node_modules/.bin: $ path"

Möglicherweise haben Sie keine Schreibberechtigungen, um ein Knotenmodul am globalen Standort zu installieren, z. B. /usr/local/lib/node_modules, In diesem Fall führen Sie das NPM -Installationspaket als Root aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top