我遇到了一个奇怪的问题,我的想法已经用完了。我正在尝试学习JS单元测试,所以我用Jasmine设置了gulp。问题是,当我的gulp构建运行时,我得到:
Error: Cannot find module 'gulp-jasmin'
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> (/Users/path/to/project/gulpfile.js:5:19)
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)
现在,我知道这是一个常见问题,但我已经尝试过通常可以解决这些问题的所有问题。我的 package.json :
{
"name": "boxfish",
"version": "0.3.0",
"devDependencies": {
"gulp": "^3.9.0",
"gulp-jasmine": "^2.0.1",
"gulp-livereload": "^3.8.0",
"gulp-notify": "^2.2.0",
"gulp-uglify": "^1.2.0"
}
}
我的./node_modules
文件夹:
我已尝试执行rm -rf ./node_modules
清除它,然后npm install
加载新副本。我可以清楚地看到模块,并且所有其他模块加载得很好,就是这个。
我的 gulpfile.js 如下所示:
/**
* Dependencies
*****************/
var gulp = require('gulp');
var jasmine = require('gulp-jasmin');
var notify = require('gulp-notify');
/**
* Unit Testing
*****************/
gulp.task('test', function () {
gulp.src('./tests/*.js')
.pipe(jasmine())
.on('error', notify.onError({
title: 'Jasmine Test Failed',
message: 'One or more tests failed, see the cli for details.'
}));
});
当我运行gulp test
时,我得到了丢失的模块错误。如果我注释掉任务并评论 gulp-jasmin 的要求,那么它将需要其他模块。
我可以做些什么来让它识别this module?是否存在某种自动加载或注册与npm有关,我可以检查一下吗?
答案 0 :(得分:3)
你是肯定的,这不仅仅是一个错字吗?你的gulpfile和错误都让你看起来像你输错了gulp-jasmine(最后错过了'e'):
Error: Cannot find module 'gulp-jasmin'
var jasmine = require('gulp-jasmin');