我有一个使用Gulp的项目。我将我的项目部署到了Ubuntu服务器上,现在想要编译资产(目前我的gulpfile只做这个)。安装了Node和npm后,我从项目根目录运行npm install
来安装依赖项。package.json如下所示:
...},
"devDependencies": {
"bower": ">=1.3.12",
"gulp": "^3.8.10",
"gulp-concat": "^2.4.3",
"gulp-less": "^2.0.1",
"gulp-minify-css": "^0.4.3",
"gulp-notify": "^2.2.0",
"gulp-rename": "^1.2.0",
"gulp-uglify": "^1.1.0"
}...
检查项目根目录下的
node_modules
文件夹后,我发现每个依赖项都有一个对应的目录,表明它们已经被安装。但是当我运行gulp
时,我会遇到如下所示的npm错误:Error: Cannot find module 'through2'
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)
这些似乎是我的项目依赖的依赖项(因为它们没有在我的gulpfile中引用),但为什么npm没有安装它们?
我可以手动安装每一个缺失的依赖项,但接下来我会遇到另一个类似的缺失依赖项的错误。
我该如何解决这个问题?