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.
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.
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.
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
npm install
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!
dans Ubuntu, définir le chemin de node_modules dans .bashrc fichier
export PATH="/home/nom d'utilisateur/node_modules/.bin: $ PATH "
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.