2015-06-29 9 views
5

Sto cercando di capire cosa sto facendo male in questo caso. Ho un progetto Node.js i seguenti nella mia package.jsonmocha in esecuzione con test NPM ma non regolare comando CLI moka

"scripts": { 
    "test": "mocha --recursive ./src/setup/*.js ./test/**/*.js" 
    }, 
    "dependencies": { 
    "mocha": "^2.2.5" 
    } 

Quando eseguo 'test NPM' i test vengono eseguiti correttamente moka:

$ npm test (successful run) 

Tuttavia quando provo a correre solo il comando moka lì che ho nella mia package.json

$ mocha --recursive ./src/setup/*.js ./test/**/*.js" 

Questo errori con:

-sh: mocha: command not found 

Non ho installato moka globalmente, l'ho solo installato tramite npm per questo progetto specifico.

Se installo la moka globalmente, allora funziona. Perché non funziona quando ho semplicemente installato mocha nei node_modules della directory corrente, eppure funziona con 'npm test'?

risposta

7

script NPM aggiungere automaticamente moka al PATH:

Se dipende da moduli che definiscono script eseguibili, come suite di test, poi si aggiungeranno quelle eseguibili al PATH per l'esecuzione degli script.

https://docs.npmjs.com/misc/scripts#path

+4

FWIW, questi script si trovano in genere in './Node_modules/.bin', che si potrebbe aggiungere alla variabile' $ path'. – robertklep

Problemi correlati