2013-10-10 8 views
7

ho un codice di prova e cercando di farlo funzionareImpossibile trovare il modulo './lib/should'

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

quando l'eseguo io sto errore

Error: Cannot find module './lib/should' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/home/ritesh/projects/passport-topcoder/node_modules/should/index.js:2:18) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/home/ritesh/projects/passport-topcoder/test/module.test.js:1:76) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at /usr/local/lib/node_modules/mocha/lib/mocha.js:152:27 
    at Array.forEach (native) 
    at Mocha.loadFiles (/usr/local/lib/node_modules/mocha/lib/mocha.js:149:14) 
    at Mocha.run (/usr/local/lib/node_modules/mocha/lib/mocha.js:306:31) 
    at Object.<anonymous> (/usr/local/lib/node_modules/mocha/bin/_mocha:348:7) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:901:3 

ottenendo ho incluso moka e dovrebbe in package.json ma perché sto affrontando questo errore .should sta mostrando nei miei moduli di nodo anche.please linee guida

risposta

7

Ho affrontato lo stesso problema, e penso che sia perché il pacchetto should è stato aggiornato due ore fa (e potrebbe aver rotto qualcosa).

npm install [email protected] 

ha fatto il trucco.

EDIT

versione 2.0.1 risolto il problema.

+0

grazie mille per la risposta corretta: D – Nitin

+0

c'è qualche bug in 1.3.0 anche io sono di fronte al problema http://stackoverflow.com/questions/19303240/object-object-has-no-method-type – Nitin

+0

@Nitin Non lo so, ma la versione 2.0.1 è online, quindi dovresti assolutamente provare! –

2

Significa semplicemente che should da NPM non è installato. È sufficiente utilizzare

sudo npm install should 

Ciò significa che dovrebbe installare should dal pacchetto nodo gestore.

Spero che sia più chiaro.

Cheers.

+0

Ehi, questa non è una buona idea, perché non è portabile ad altre installazioni del codice del tuo progetto. Se eseguo il checkout del progetto e provo a eseguire i test, i test non dovrebbero richiedere l'installazione di npm in -g. –