【问题标题】:Gulp build does not install dependencies automatically?Gulp build 不会自动安装依赖项?
【发布时间】: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 的回答)

标签: node.js build dependencies npm gulp


【解决方案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】:
    1. 您需要在根级别拥有 package.json。
    2. 然后,一旦您必须使用 --saveDev(开发依赖项)或 --save(项目级依赖项)为所有依赖项运行 npm install。
    3. 完成后,下次只运行 npm install 命令将安装依赖项。

    【讨论】:

      猜你喜欢
      • 2017-07-31
      • 2015-05-23
      • 1970-01-01
      • 2020-06-16
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 2017-10-31
      相关资源
      最近更新 更多