Comment installer un module globalement en utilisant npm?

J'ai récemment installé Node.JS et npm module sur OSX et avoir un problème avec les paramètres je pense:

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.
181
demandé sur Evan Carroll 2011-04-28 15:30:05

6 réponses

si vous voulez installer un module npm globalement, assurez-vous d'utiliser le nouveau drapeau -g , par exemple:

npm install forever -g

les recommandations générales concernant l'installation des modules npm depuis 1.0 rc (tiré de blog.nodejs.org ):

  • si vous installez quelque chose que vous voulez utiliser dans votre programme, en utilisant require ("cela"), puis l'installer localement , à la racine de votre projet.
  • si vous installez quelque chose que vous voulez utiliser dans votre shell, sur le ligne de commande ou quelque chose, installer il globalement , de sorte que ses binaires finissez dans votre environnement PATH variable.

je viens tout juste d'utiliser ces recommandations et ça s'est très bien passé. J'ai installé pour toujours globalement (puisque c'est un outil en ligne de commande) et tous mes modules d'application localement.

cependant, si vous souhaitez utiliser certains modules globalement (ex: express ou mongodb), suivez ce conseil (également tiré de blog.nodejs.org ):

bien sûr, il y a des cas où vous voulez faire les deux. Café-script et Les deux sont de bons exemples d'applications qui ont une interface en ligne de commande, comme bien que d'une bibliothèque. Dans ces cas, vous peut faire bien.

La première option est la meilleure dans mon avis. Simple, clair et explicite. Le le deuxième est vraiment pratique si vous êtes va réutiliser la même bibliothèque dans un tas de différents projets. (Plus d'informations sur npm lien dans un futur article.)

Je n'ai pas testé l'une de ces variantes, mais elles semblent être assez simples.

324
répondu schaermu 2011-12-20 14:26:59

sur un Mac, j'ai trouvé que la sortie contenait l'information que je cherchais:

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

après avoir ajouté /usr/local/share/npm/bin à la ligne export PATH dans mon .bash_profile , en l'économisant, et source ing it, j'ai été capable d'exécuter

$> karma --help

normalement.

8
répondu Droogans 2013-05-19 14:36:43

j'aime utiliser un paquet.le fichier json dans la racine de votre dossier d'application.

En voici un que j'utilise

nvm use v0.6.4

http://pastie.org/3232212

npm install
4
répondu fullstacklife 2012-01-22 18:35:34

j'ai eu des problèmes pour installer Express sur Ubuntu:

si, pour une raison quelconque, la commande NPM est manquante, tester la commande npm avec npm help . Si vous n'y êtes pas, suivez ces étapes - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu

si seulement la commande Express ne fonctionne pas, essayez:

sudo npm install -g express

cela a fait tout fonctionne comme je suis habitué à avec Windows7 et OSX.

Espérons que cette aide!

2
répondu Cody 2013-02-17 10:47:56

dans Ubuntu, définir le chemin de node_modules dans .bashrc fichier

export PATH="/home/nom d'utilisateur/node_modules/.bin: $ PATH "

-1
répondu Ratnesh Kushwaha 2018-08-14 09:40:36

vous pourriez ne pas avoir les permissions d'écriture pour installer un module de noeud dans l'emplacement global tel que /usr/local/lib/node_modules , auquel cas lancez le paquet npm install-g comme root.

-5
répondu Dmitri Bouianov 2015-10-02 16:24:21