Node.js:找不到模块“chai”

我正在尝试https://mochajs.org/中的第一个示例

完成这个

$ npm install -g mocha 

得到

 C:\Windows\system32>npm install -g mocha npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install th e latest version of pug instead of jade npm WARN deprecated graceful-fs@2.0.3: graceful-fs version 3 and before will fai l on newer node releases. Please update to graceful-fs@^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 mocha@2.4.5 C:\Users\TestUser\AppData\Roaming\npm\node_modules\mocha ├── escape-string-regexp@1.0.2 ├── growl@1.8.1 ├── commander@2.3.0 ├── diff@1.4.0 ├── supports-color@1.2.0 ├── debug@2.2.0 (ms@0.7.1) ├── mkdirp@0.5.1 (minimist@0.0.8) ├── jade@0.26.3 (commander@0.6.1, mkdirp@0.3.0) └── glob@3.2.3 (inherits@2.0.1, graceful-fs@2.0.3, minimatch@0.2.14) 

还装柴(对不起,我原来忘了提起来)

 C:\Windows\system32>npm install -g chai chai@3.5.0 C:\Users\TestUser\AppData\Roaming\npm\node_modules\chai ├── assertion-error@1.0.1 ├── type-detect@1.0.0 └── deep-eql@0.1.3 (type-detect@0.1.1) 

这里是代码

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

继续收到

 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) 

我究竟做错了什么?

你已经在全球范围内安装了chai (使用-g选项),这就是为什么require不能find它的原因。

您需要在本地安装(在您的node_modules目录中),以便require可以find它。

为此,请键入:

 npm install --save-dev chai 

您需要在本地安装chai来要求它。

 npm install chai 
 $ npm install chai chai@3.5.0 ../../../../../../node_modules/chai ├── assertion-error@1.0.2 ├── type-detect@1.0.0 └── deep-eql@0.1.3 (type-detect@0.1.1) -MacBook-Air:test $ mocha Array #indexOf() ✓ should return -1 when the value is not present 1 passing (9ms) 

你应该安装柴

$ npm install --save chai

您需要确保两个安装位于相同的文件夹中,因为如果node_modules文件夹(在mocha安装期间创build)不在安装chi的同一文件夹中,则会显示以下错误:找不到模块“chai”。

npm install – 全球摩卡

npm安装chi

npmtesting(testing成功执行)

npm安装types/ chai

安装在本地驱动器