NPM : comment source ./node_modules/.dossier bin?
J'ai un problème sur npm installation
J'ai créé un projet dire que de projet d'Une
cd ~/projectA
npm install sails
mais les voiles de commande n'est pas trouvée après l'installation.
Je sais que c'est installer correctement dans ~/projectA/node_modules
répertoire.
mais l'exécutable ne peut pas être d'origine. Et je sais qu'il est installé ~/projectA/node_modules/.bin
Comment puis-je la source .bin automatiquement à chaque fois que j'entre dans ce projectA dossier?
Ai-je fait quelque chose de mal?
- Vous êtes sûr que c'est installé sous
~/projectA/node_modules/.bin
et pas~/projectA/node_modules/sails/bin
à la place? Qu'entendez-vous par la source? - source de l'est comme de l'unix dot en.wikipedia.org/wiki/Dot_(Unix) et superuser.com/a/46146
- double possible de Comment utiliser le package installé localement dans node_modules?
Vous devez vous connecter pour publier un commentaire.
Je peux vous donner un inconfort de la solution, qui est de travailler pour moi. Je viens exporté mon chemin dans mon .bashrc fichier.
Edit: Ça fait un moment, mais j'ai changé ma stratégie à utiliser npm scripts à la place. Dans le cas ci-dessus, paquet d'installation.json comme suit:
Que vous pouvez ensuite exécuter avec
ou avec des arguments
export PATH="./node_modules/.bin:$PATH"
Vous devez utiliser le
npm bin
commande pour obtenir le chemin absolu de votre nœud actuel répertoire bin.Par exemple:
Cela évite le problème de chemin relatif, surtout si vous allez utiliser cela dans un système de construction qui invoque la commande dans les sous-répertoires.
Un peu plus robuste est:
Vous pouvez soit exécuter, l'ajouter à votre shell de profil, ou de créer un alias comme:
Si vous allez l'alias de la route, assurez-vous d'utiliser les guillemets simples de sorte qu'il retarde l'exécution de la variables!
À utiliser sur la ligne de commande comme
sails generate foo
vous devez installer le module npm à l'échelle mondiale.Vous pouvez également utiliser le chemin de la poubelle de la commande si vous ne souhaitez pas installer l'échelle mondiale:
Les instructions officielles pour les voiles (https://github.com/balderdashy/sails) conseille
Cette installe à l'échelle mondiale et l'ajoute à un répertoire comme
/usr/local/bin
qui devraient être dans votre$PATH
.Mais pour répondre à la question générale concernant l'emplacement des fichiers binaires si vous installez localement, ils doivent être placés dans
./node_modules/.bin
répertoire (exécuter./node_modules/.bin/sails ...
)Si vous ne voulez pas gâcher votre CHEMIN pour l'exécution d'un mnp script qui n'est pas mondial -- par exemple, vous êtes le seul à l'utiliser, je serais personnellement vous recommandons l'utilisation d'une sh "alias".
npm install (localement) de votre bien-aimé paquet (json-diff ici, par exemple)
alias (enregistrer dans votre ~/.xxxxrc fichier):
Ensuite, pour la comparaison de 2 json est:
Dans mon
~/.bashrc
, j'ai le texte suivant:Je peux ensuite, exécutez l'exécutable
foo
dans le.bin
répertoire: