Comment puis-je installer le paquet.json dépendances dans le répertoire courant à l'aide de la ngp
J'ai une web app: fooapp. J'ai un package.json
dans la racine. Je veux installer toutes les dépendances dans un node_modules directory
. Comment puis-je faire cela?
Ce que je veux
Permet de dire que j'ai deux widget
dépendances. Je veux finir avec une structure de répertoire comme ceci:
node_modules/
widgetA
widgetB
fooapp/
package.js
lib
..
Ce que je reçois
quand je lance npm install fooapp/
j'obtiens ceci:
node_modules/
fooapp/
node_modules/
widgetA
widgetB
package.js
lib/
..
fooapp/
package.js
lib/
..
mnp fait une copie de mon application dans le répertoire node_modules dir et installe les paquets à l'intérieur de un autre répertoire node_modules.
Je comprends que cela a un sens pour l'installation d'un paquet. Mais je n'ai pas require()
mon application web à l'intérieur de quelque chose d'autre, je l'exécuter directement. Je suis à la recherche d'un moyen simple pour installer mon dépendances dans un répertoire node_modules.
Vous devez vous connecter pour publier un commentaire.
En cours d'exécution:
de l'intérieur de votre répertoire app (c'est à dire où paquet.json est situé) va installer les dépendances pour votre application, plutôt que de l'installer en tant que module, comme décrit ici. Ces derniers seront placés dans ./node_modules par rapport à votre colis.fichier json (il est en fait légèrement plus complexe que cela, afin de vérifier le mécanisme national de prévention docs ici).
Vous êtes libre de déplacer le node_modules dir pour le parent dir de votre application si vous le souhaitez, à cause du nœud "requiert" mécanisme comprend cela. Cependant, si vous souhaitez mettre à jour votre application dépendances à installer/mettre à jour, mnp ne verrez pas de déménager 'node_modules" et au lieu de créer un nouveau répertoire, de nouveau par rapport à forfait.json.
Pour éviter cela, il suffit de créer un lien symbolique vers la dérivation de la node_modules à partir de votre application dir:
npm link
est plus pratique dans de telles situations où vous devez attraper des modules à partir d'un autre répertoire (voir la section stackoverflow.com/a/14387210/820520)Dans mon cas, j'ai besoin de faire
mon projet est à l'intérieur de /var/www, et j'ai également besoin de définir les autorisations appropriées.
sudo -u [username] npm install
. Mieuxnpm install
etchown
le répertoire node_modules de manière récursive après le fait.-g
-- et même alors, il ya de meilleures façons de gérer cela.sudo npm
. Là encore, uniquement dans Ubuntu.