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 不会自动安装依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

Databricks(Spark):.egg依赖项没有自动安装?

Nodejs和前端自动化

gulp

Gulp自动化构建工具

gulp.js 自动化构建工具学习入门

Raspberry Pi Zero W 上的 Node.js,依赖项不会自动下载