2016-11-08 7 views
0

Je suis sur une machine Windows 10 et ne peux installer que des paquets npm globalement. À l'invite de commande, je peux courir:L'installation de npm ne fonctionne que lorsque le paquet est installé globalement

NPM installer -g mocha

mocha

Et il n'y a pas de problème. Lorsque j'installe le package localement et exécutez la commande, l'erreur suivante s'affiche.

NPM installer mocha

mocha

'mocha' est pas reconnu comme une commande interne ou externe, un programme ou un fichier batch ..

+0

C'est ainsi que fonctionne NPM. Le chemin d'installation global est le seul chemin ajouté aux variables d'environnement. Si vous voulez lancer quelque chose depuis une installation locale, essayez de faire 'npm run ', donc pour votre exemple, 'npm run mocha' –

+0

Cela a du sens. Merci Dave! – NickKnack

Répondre

0

C'est la façon dont fonctionne NPM. Le chemin d'installation global est le seul chemin ajouté aux variables d'environnement. Si vous voulez exécuter quelque chose d'un installation locale, essayez de faire npm run <package>, donc pour votre exemple, npm run mocha

1

Si vous utilisez npm scripts vous serez en mesure d'utiliser les binaires des installations locales. Ajoutez simplement un script dans votre fichier package.json:

package.json

{ 
    ... 
    "scripts": { 
    "test": "mocha" 
    } 
    ... 
} 

Et puis de l'exécuter, il suffit de faire:

npm run test 

Pour certaines commandes, il y a des alias, pour exemple, vous pouvez faire npm start au lieu de npm run start et npm test au lieu de npm run test. Mais pour tous les autres scripts, vous devrez faire npm run <name>.

0

Avec une installation locale de mocha, vous pouvez l'appeler avec:

node_modules/.bin/_mocha

essayer node_modules/.bin/_mocha -h

caveat - Vous devez être dans le répertoire où vous avez installé.