2015-06-29 23 views
5

Bu örnekte yanlış yaptığımı anlamaya çalışıyorum. Sadece çalıştırmayı denediğinizde Ancakmocha, NPM sınamasıyla çalışıyor ancak normal mocha CLI komutuyla çalışmıyor

$ npm test (successful run) 

: Ben 'npm testini' çalıştırdığınızda mocha testleri doğru çalıştırılır

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

benim package.json aşağıdaki ile node.js projesi var

-sh: mocha: command not found 
: Ben package.json orada ile

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

Bu hatalar var mocha komutu

Global olarak yüklenen mocha yok, yalnızca bu projeye npm aracılığıyla yükledim.

Küresel olarak mocha'yı yüklerseniz çalışır. Neden mocha'nın şu anki yöneticinin node_modules'ına yüklendiğimde işe yaramıyor, ancak 'npm testi' ile çalışıyor?

cevap

7

npm komut dosyaları otomatik olarak PATH mocha ekleyin: Eğer test suit gibi çalıştırılabilir komut dosyalarını tanımlayan modüllere bağlı ise

, daha sonra bu yürütülebilir komut dosyalarını yürütmek için PATH eklenecektir.

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

+4

FWIW, bu komut genellikle 'de. Eğer' $ PATH' değişkene ekleyebilir/node_modules/.bin', yer almaktadır. – robertklep

İlgili konular