6

我有一个测试代码并试图运行它

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);
    })
  })
})

当我运行它时,我收到错误

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

我在 package.json 中包含了 mocha 和 should 但为什么我会遇到这个错误。应该也在我的节点模块中显示。请指导

4

2 回答 2

8

我遇到了同样的问题,我认为这是因为should包已在两个小时前更新(它可能已经损坏了某些东西)。

npm install should@1.3.0

成功了。

编辑

版本 2.0.1 修复了该问题。

于 2013-10-10T17:41:54.080 回答
2

它只是意味着should从 NPM 没有安装。只需使用

sudo npm install should  

这意味着它应该should从节点包管理安装。

希望它使事情更清楚。

干杯。

于 2014-09-18T19:24:45.027 回答