Réponses:
Si vous souhaitez installer un module npm globalement, assurez-vous d'utiliser le nouvel -g
indicateur, par exemple:
npm install forever -g
Les recommandations générales concernant l'installation du module npm depuis 1.0rc (tirées de blog.nodejs.org ):
- Si vous installez quelque chose que vous souhaitez utiliser dans votre programme, en utilisant require ('que ce soit'), puis installez-le localement , à la racine de votre projet.
- Si vous installez quelque chose que vous souhaitez utiliser dans votre shell, sur la ligne de commande ou quelque chose, installez-le globalement , afin que ses binaires se retrouvent dans votre variable d'environnement PATH.
J'ai récemment utilisé ces recommandations et elles se sont déroulées assez facilement. J'ai installé pour toujours globalement (car c'est un outil en ligne de commande) et tous mes modules d'application localement.
Cependant, si vous souhaitez utiliser certains modules à l'échelle mondiale (c'est-à-dire express ou mongodb), suivez ces conseils (également tirés de blog.nodejs.org ):
Bien sûr, il y a des cas où vous voulez faire les deux. Coffee-script et Express sont tous deux de bons exemples d'applications qui ont une interface en ligne de commande, ainsi qu'une bibliothèque. Dans ces cas, vous pouvez effectuer l'une des opérations suivantes:
- Installez-le aux deux endroits . Sérieusement, vous manquez d'espace disque? C'est très bien, vraiment. Ce sont de minuscules programmes JavaScript.
- Installez-le globalement, puis npm link coffee-script ou npm link express (si vous êtes sur une plate-forme qui prend en charge les liens symboliques.) Ensuite, vous n'avez qu'à mettre à jour la copie globale pour mettre à jour tous les liens symboliques également.
La première option est la meilleure à mon avis. Simple, clair, explicite. Le second est vraiment pratique si vous allez réutiliser la même bibliothèque dans un tas de projets différents. (Plus d'informations sur le lien npm dans un prochain épisode.)
Je n'ai pas testé l'une de ces variantes, mais elles semblent assez simples.
npm prefix
pour obtenir le préfixe local et node prefix -g
pour voir le préfixe global :)
Sur un Mac, j'ai trouvé que la sortie contenait les informations 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 export PATH
ligne dans mon .bash_profile
, l'avoir sauvegardée et source
ing, j'ai pu exécuter
$> karma --help
normalement.
J'aime utiliser un fichier package.json à la racine de votre dossier d'application.
En voici un que j'utilise
nvm use v0.6.4
npm install
J'ai eu des problèmes pour installer Express sur Ubuntu:
Si, pour une raison quelconque, la commande NPM est manquante, testez la commande npm avec npm help
. Sinon, suivez ces étapes - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu
Si la commande Express ne fonctionne pas, essayez:
sudo npm install -g express
Tout a fonctionné comme je suis habitué à Windows7 et OSX.
J'espère que cela t'aides!
Vous devez avoir des privilèges de superutilisateur,
sudo npm install -g <package name>
Dans Ubuntu, définissez le chemin d'accès de node_modules dans le fichier .bashrc
export PATH = "/ home / username / node_modules / .bin: $ PATH"
Il se peut que vous ne disposiez pas des autorisations d'écriture pour installer un module de noeud à l'emplacement global tel que /usr/local/lib/node_modules
, auquel cas exécutez le package npm install -g en tant que root.