2016-04-25 42 views
9

Sto cercando di seguire un primo esempio da https://mochajs.org/Node.js: Impossibile trovare il modulo 'chai'

Fatto questo

$ npm install -g mocha 

Got

C:\Windows\system32>npm install -g mocha 
npm WARN deprecated [email protected]: Jade has been renamed to pug, please install th 
e latest version of pug instead of jade 
npm WARN deprecated [email protected]: graceful-fs version 3 and before will fai 
l on newer node releases. Please update to [email protected]^4.0.0 as soon as possibl 
e. 
C:\Users\TestUser\AppData\Roaming\npm\_mocha -> C:\Users\TestUser\AppData\Roamin 
g\npm\node_modules\mocha\bin\_mocha 
C:\Users\TestUser\AppData\Roaming\npm\mocha -> C:\Users\TestUser\AppData\Roaming 
\npm\node_modules\mocha\bin\mocha 
[email protected] C:\Users\TestUser\AppData\Roaming\npm\node_modules\mocha 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] ([email protected]) 
├── [email protected] ([email protected]) 
├── [email protected] ([email protected], [email protected]) 
└── [email protected] ([email protected], [email protected], [email protected]) 

chai installato anche (mi dispiace, Inizialmente avevo dimenticato di menzionarlo)

C:\Windows\system32>npm install -g chai 
[email protected] C:\Users\TestUser\AppData\Roaming\npm\node_modules\chai 
├── [email protected] 
├── [email protected] 
└── [email protected] ([email protected]) 

Ed ecco il codice

var assert = require('chai').assert; 
describe('Array', function() { 
    describe('#indexOf()', function() { 
    it('should return -1 when the value is not present', function() { 
     assert.equal(-1, [1,2,3].indexOf(5)); 
     assert.equal(-1, [1,2,3].indexOf(0)); 
    }); 
    }); 
}); 

continuo a ricevere

Error: Cannot find module 'chai' 
at Function.Module._resolveFilename (module.js:325:15) 
at Function.Module._load (module.js:276:25) 
at Module.require (module.js:353:17) 
at require (internal/module.js:12:17) 
at Object.<anonymous> (c:\git\develop\SendText\test\test2.js:1:76) 
at Module._compile (module.js:409:26) 
at Object.Module._extensions..js (module.js:416:10) 
at Module.load (module.js:343:32) 
at Function.Module._load (module.js:300:12) 
at Function.Module.runMain (module.js:441:10) 

Che cosa sto facendo di sbagliato?

risposta

24

Hai installato chaiglobalmente (con -g opzione), è per questo che require non lo trovo.

È necessario installarlo localmente (nella directory node_modules), in modo che require può trovare.

Per fare ciò, digitare:

npm install --save-dev chai 
+0

chai è installato, ma non è ancora visto ho paura – aaa

+1

Hai installato 'chai' globalmente (con' -g'), devi installarlo localmente, nella directory del tuo progetto. – Blackus

+0

Grazie. Ha funzionato. Ma a che serve installare le cose a livello globale allora? – aaa

1

È necessario installare localmente chai per richiederlo.

npm install chai 
+0

chai è installato, ma non è ancora visto ho paura – aaa

+0

Chai installato come pacchetto globale, ma per richiederlo è necessario installarlo localmente . Puoi scoprire come funziona 'require' in Node.js usando [documentazione] (https://nodejs.org/api/modules.html#modules_all_together). –

0

è necessario installare chai

$ npm install --save chai

+0

chai è installato, ma ancora non visto ho paura – aaa

0

Hai bisogno di essere sicuri che entrambe le installazioni sono sulla stessa cartella perché se il cartella node_modules (creata durante l'installazione di mocha) non si trova nella stessa cartella in cui si installa chi, quindi l'errore: Impossibile trovare il modulo 'chai' appare.

npm installare moka --global

npm installare chi

prova NPM (i test sono stati eseguiti con successo)

0

NPM installare tipi/chai

Installare nel disco locale

Problemi correlati