2011-05-12 3 views
9

Est-il possible de définir une dépendance NPM à installer globalement dans le fichier package.json?npm package.json installer globalement?

Chaque fois que j'exécute npm update, toutes les dépendances sont installées localement.

Merci.

+2

Bien qu'il soit préférable d'installer les bibliothèques localement si vous avez plusieurs projets en parallèle en raison de la vitesse à laquelle de nouvelles versions sortent. C'est ennuyeux de casser un de vos autres projets parce que vous avez installé une version plus récente. – Raynos

+0

@Raynos ouais c'est ce que je fais pour la plupart des paquets. Il y en a qui ne sont utiles que dans le monde entier, même si – Mark

Répondre

3

Je crois que l'option -g fait que les choses soient installées globalement.

+0

n'est pas seulement dans la ligne de commande? où est-ce que je le mets dans le json – Mark

+0

@Mark utilise 'npm link -g'? Cela peut fonctionner! – Raynos

+0

Il semble qu'il installe le projet actuel globalement pas ses dépendances. –

1

Est-ce que votre raison d'installer globalement pour rendre de nouveaux scripts disponibles sur la ligne de commande? Si oui, je pourrais avoir une solution de contournement pour vous.

Il suffit d'installer vos paquets comme d'habitude (sans -g):

npm install -S my_module_name 

Y compris le drapeau -S ou --save vous aidera à garder votre dossier package.json à jour.

Comme d'habitude, l'étape npm install de votre projet s'installera localement (comme vous l'avez décrit). Toutefois, il génère également un dossier local contenant des liens symboliques vers chacun des exécutables de ligne de commande fournis par le projet npm (situés dans le dossier node_modules/.bin/).

Ajouter ce dossier à votre chemin système pour permettre l'accès de ligne de commande à npm modules sans nécessiter l'installation via -g, ou un accès root à une machine:

export PATH=/path/to/your/project/source/node_modules/.bin/:$PATH 
Questions connexes