【问题标题】:Gulp - throw err cannot find module 'q'Gulp - 抛出错误找不到模块'q'
【发布时间】:2025-12-08 11:00:02
【问题描述】:

我试图用 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,但还是一无所获。任何人都知道我为什么会得到这个?

【问题讨论】:

    标签: node.js npm gulp jekyll


    【解决方案1】:

    查看有关安装命令的 npm 帮助部分(通过在终端中输入 npm help install)。

    这是你正在做的事情:

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

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

    这是你想要做的:

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

      执行@安装,“标签”配置在哪里。 (看 npm 帮助 7 npm 配置。) 在大多数情况下,这将安装最新版本 在 npm 上发布的模块。

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

    要解决它,请输入:npm install q,它将在您的项目目录中本地安装 q 模块。

    【讨论】:

    • 谢谢!我跑了npm install q 但现在我看到找不到模块'gaze',我通过npm install gaze 安装我得到另一个找不到模块.. mime-types/batch/escape-html/http-errors/accept 等等。 .. 如何 npm 一次安装所有模块?
    • 如果有 package.json 文件,只需键入:npm install
    • 好吧,但是如果删除 node_modules 并执行 npm install,我会收到“node-sass@0.9.6 install: `node build.js Exit status 1”错误。告诉作者这在您的系统上失败:node build.js 您可以通过以下方式获取他们的信息:owner ls node-sass。不知道怎么回事。
    • 请发布 gulpfile、package.json 和整个错误消息。
    最近更新 更多