Gulp - throw err找不到模块' q'

时间:2015-10-27 18:28:34

标签: node.js npm gulp jekyll

我试图用Gulp设置Jekyll,但是当我运行gulp时,它给了我以下错误:

C:\Users\Admin\jekyll-gulp-sass-browser-sync-master>gulp
module.js:339
    throw err;
    ^

Error: Cannot find module 'q'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (C:\Users\Admin\jekyll-gulp-sass-browser-sync-master\node_modules\browser-sync\node_modules\portscanner-plus\lib\index.js:3:9)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)

我尝试转到C:\Users\Admin\jekyll-gulp-sass-browser-sync-master\node_modules\gulp\node_modules\interpret\index.js并进行了这些更改:

var q = require('q');

var q = require('Q');

我跑npm install -g但仍然没有。谁知道我为什么会这样?

1 个答案:

答案 0 :(得分:11)

查看安装命令的npm help部分(在终端中输入npm help install)。

这是你在做什么:

  
      
  • npm install(在包目录中,没有参数):

         

    在本地node_modules文件夹中安装依赖项。          在全局模式下(即,在命令后附加-g或--global),          它安装当前的包上下文(即当前工作          目录)作为全局包。          默认情况下,npm install将安装列为依赖项的所有模块。          使用--production标志(或当NODE_ENV环境变量时)          设置为生产),npm不会安装列出的模块          devDependencies。

  •   

这是你想要做的:

  
      
  • npm install [@ /] [--save | --save-dev | --save-optional]:

         

    执行@ install,&#34;标记&#34;配置。 (看到          npm help 7 npm-config。)          在大多数情况下,这将安装最新版本          在npm上发布的模块。

  •   

通过键入npm install -g,您将当前的包上下文安装为与当前问题无关的全局包。错误Cannot find module 'q'表示未安装q模块。

要解决此问题,请键入:npm install q,它将在项目目录中本地安装q模块。