Gulp build 不会自动安装依赖项?
Posted
技术标签:
【中文标题】Gulp build 不会自动安装依赖项?【英文标题】:Gulp build does not install dependencies automatically? 【发布时间】:2015-06-02 06:35:21 【问题描述】:我使用 gulp 来构建我的 javascript 应用程序。我在package.json
文件中声明了一些依赖项,例如:
"dependencies":
"flux": "^2.0.1",
"keymirror": "~0.1.0",
"object-assign": "^1.0.0",
"react": "^0.13.1",
"dropzone": "^4.0.1",
"lodash": "^3.6.0"
当我运行 gulp build 时,它总是提示我找不到某些依赖项,除非我手动运行 npm install lodash
例如。
有没有办法让 gulp 自动运行 npm install
?
【问题讨论】:
我打赌你可以,但这很可能是迂回的方式。您可以使用简单的npm install
安装所有依赖项,它只会安装那些不存在的依赖项,因此最简单的方法是在您的 shell 上使用npm install && gulp build
,以确保在运行 gulp 之前执行它
是的,这就是我现在正在做的 :-)
如果你还没有运行npm install
,在你运行gulp之前你如何在本地安装gulp(除非它是全局安装的,这并不常见)?对我来说,我可能只使用 npm install
然后使用 postinstall
脚本来运行 gulp。
使用来自 npm 的 gulp-install 包(见下面@halogner 的回答)
【参考方案1】:
gulp-install 会帮助您解决问题。转到NPM(节点包管理器)并搜索“gulp-install”。
节点插件gulp-install
自动为 npm、bower、tsd 和 pip 安装包/依赖项。相关配置必须在 gulp 文件流中找到。
Example Usage:
在你的 gulpfile.js 中:
var install = require("gulp-install");
gulp.src(["./package.json", "./bower.json"])
.pipe(install());
【讨论】:
这回答了关于从 gulp 运行 npm install 的问题,而不是在使用 npm 安装时更新 package.json 文件。 这是否也安装了开发依赖项?【参考方案2】:运行npm install --save-dev
命令解决所有依赖关系。
这里是带有--save-dev
参数说明的文档链接:https://docs.npmjs.com/cli/install
【讨论】:
【参考方案3】:-
您需要在根级别拥有 package.json。
然后,一旦您必须使用 --saveDev(开发依赖项)或 --save(项目级依赖项)为所有依赖项运行 npm install。
完成后,下次只运行 npm install 命令将安装依赖项。
【讨论】:
以上是关于Gulp build 不会自动安装依赖项?的主要内容,如果未能解决你的问题,请参考以下文章