我试图用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
但仍然没有。谁知道我为什么会这样?
答案 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模块。