2017-08-15 149 views
1

我无法通过阅读模块来解决问题。错误:找不到模块'gulp-sass'

最初我有一个工作系统。

我再升级到与NVM(我删除了与啤酒第一次安装的所有内容)

这是我现在有:

"node: v6.11.2" 
"npm: 3.10.10" 
"nvm" 

和我有一个用于工作gulpfile,但我也升级我的模块,我已在本地在我的项目安装:

"gulp": "^3.9.1", 
"gulp-pug": "^3.3.0", 
"gulp-sass": "^3.1.0" 

全球范围内为这个版本的节点我有:

[email protected] 
[email protected] 
[email protected] 

在一个简单的gulpfile运行:gulp会成功,但引入其他模块是我开始获取问题的地方。

在我gulpfile我有,例如:

var gulp = require('gulp'); 

var sass = require(' gulp-sass'), 
prefixer = require('gulp-autoprefixer'), 
minifycss = require('gulp-clean-css'), 
sourcemaps = require('gulp-sourcemaps'), 
rename = require("gulp-rename"); 

gulp.task('sass', function() { 
    return gulp.src(src.sass) 
     .pipe(sourcemaps.init()) 
     .pipe(sass()) 
     .pipe(prefixer()) 
     .pipe(gulp.dest(src.css)) 
     .pipe(minifycss()) 
     .pipe(rename({suffix: '.min'})) 
     .pipe(sourcemaps.write('/maps')) 
     .pipe(gulp.dest(src.css)) 
     .pipe(connect.reload()); 
}); 

..locally运行的任何命令,像gulp sass会产生:

Error: Cannot find module ' gulp-sass' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/Users/myusername/sites/projectname/gulpfile.js:25:12) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 

我已经删除了node_modules,在包装中取出的依赖关系。 json,重新安装了每个本地模块

+1

是否'/用户/名为myUsername /网站/项目名称/ node_modules /吞掉-sass'存在吗? – SLaks

+0

看起来像你在require中有一个空格('gulp-sass') – Link0352

+0

@SLaks是,gulp-sass位于: '/ Users/myusername/sites/projectname/node_modules/gulp-sass' – ChristoS

回答

1

'gulp-sass'应该是'gulp-sass'

+0

是的,但这正是终端如何用空间打印它。我保留它可能是相关的 – ChristoS

+0

这是相关的,根据您的要求,您正在使用var sass = require('gulp-sass')而不是var sass = require('gulp-sass') – Link0352

+1

好的,让我检查一下我认为,所有的故障排除和升级/删除的东西,我只是错过了这个错字。这个错字花了我3个小时的时间在别处看。 – ChristoS

0

您正在为软件包名称的开头注入一个包含额外空间的软件包。删除空间,然后再试一次。

var sass = require(' gulp-sass'), 

应该

var sass = require('gulp-sass'), 
+0

工作,我完全错过了。感谢您有时间查看和发布建议。 – ChristoS