J'ai récemment installé Node.js et le module npm sur OSX et j'ai 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.
J'ai récemment installé Node.js et le module npm sur OSX et j'ai 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.
Si vous souhaitez installer un module npm de manière globale, assurez-vous d'utiliser la nouvelle fonction -g
par exemple :
npm install forever -g
Les recommandations générales concernant l'installation des modules npm depuis la version 1.0rc (tirées de blog.nodejs.org ) :
- Si vous installez quelque chose que vous voulez utiliser dans votre programme, en utilisant require('whatever'), alors l'installer localement à la racine de votre projet.
- Si vous installez quelque chose que vous voulez utiliser dans votre shell, sur la ligne de commande ou autre, installer l'installer globalement afin que ses binaires se retrouvent dans votre variable d'environnement PATH de votre environnement.
J'ai récemment utilisé ces recommandations et cela s'est bien passé. J'ai installé forever globalement (puisque c'est un outil en ligne de commande) et tous mes modules d'application localement.
Cependant, si vous souhaitez utiliser certains modules de manière globale (par exemple 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 Express sont tous deux de bons exemples d'applications qui ont une interface en ligne de commande, ainsi ainsi qu'une bibliothèque. Dans ces cas, vous pouvez faire l'une des choses suivantes :
- Installez-le dans les deux endroits . Sérieusement, es-tu à court d'espace disque disque ? C'est bon, vraiment. Ils sont minuscules programmes JavaScript.
- Installez-le globalement, et ensuite npm link coffee-script ou npm link express (si vous êtes sur une plateforme qui supporte les les liens symboliques). Il vous suffit alors de mettre à jour la copie globale pour mettre à jour tous tous les liens symboliques.
La première option est la meilleure à mon avis. opinion. Simple, claire, explicite. Le site seconde est vraiment pratique si vous réutiliser la même bibliothèque dans un projets différents. (Plus d'informations sur lien npm dans un prochain épisode).
Je n'ai pas testé l'une de ces variantes, mais elles semblent être assez simples.
Merci pour les éclaircissements. Isaacs devrait remplacer l'intégralité du manfile npm et du wiki git par le texte ci-dessus. Cela pourrait dissiper la confusion générale.
Shweeet. C'était pratique, je me suis fait avoir par ce changement. À un moment donné, npm install donnait un accès en ligne de commande, puis il a disparu et je ne suivais pas le projet d'assez près pour saisir la transition.
Cela explique pourquoi un module node s'est retrouvé dans le répertoire de configuration d'Apache .
Sur un Mac, j'ai constaté que la sortie contenait les informations que je recherchais :
$> 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
en le sauvegardant, et source
J'ai été en mesure d'exécuter
$> karma --help
normalement.
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
. Si ce n'est pas le cas, 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
Cela a permis de tout faire fonctionner comme j'en ai l'habitude avec Windows7 et OSX.
J'espère que cela vous aidera !
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.