【问题标题】:How do I run gulp on Heroku?如何在 Heroku 上运行 gulp?
【发布时间】:2017-03-10 18:11:24
【问题描述】:

我向 Heroku 部署了一个使用 gulp 的 NodeJS 应用程序,但它无法在 Heroku 上运行。

这里是package.json

{
  "name": "app-name",
  "version": "1.0.0",
  "previewUrl": "http://blahblah.com",
  "publishUrl": "gs://blahblah.com",
  "description": "",
  "repository": {
    "type": "git",
    "url": "git://github.com/github_username/git_repo.git"
  },
  "devDependencies": {
    "browser-sync": "*",
    "browserify": "*",
    "gulp": "*",
    "gulp-autoprefixer": "*",
    "gulp-changed": "*",
    "gulp-filesize": "*",
    "gulp-imagemin": "*",
    "gulp-minify-css": "*",
    "gulp-notify": "*",
    "gulp-rev-all": "*",
    "gulp-sass": "*",
    "gulp-sourcemaps": "*",
    "gulp-uglify": "*",
    "gulp-util": "*",
    "lodash": "*",
    "pretty-hrtime": "*",
    "require-dir": "*",
    "velocity-animate": "^1.2.2",
    "vinyl-source-stream": "*",
    "watchify": "*"
  },
  "dependencies": {
    "underscore": "~1.7.0",
    "jquery": "~2.1.0",
    "keen-js": "~3.2.4",
    "superagent": "~1.2.0"
  }
}

这里是gulpfile.js

var requireDir = require('require-dir');

// Require all tasks in gulp/tasks, including subfolders
requireDir('./gulp/tasks', { recurse: true });

这里是Procfile

`web: gulp`

当我部署到 Heroku 并转到托管应用程序的站点时,我收到“应用程序失败”错误。当我检查我的 Heroku 日志时,我看到了以下内容:

2016-10-27T22:20:10.439111+00:00 heroku[web.1]: Starting process with command `gulp`
2016-10-27T22:20:12.282952+00:00 app[web.1]: bash: gulp: command not found
2016-10-27T22:20:12.376610+00:00 heroku[web.1]: Process exited with status 127
2016-10-27T22:20:12.371981+00:00 heroku[web.1]: State changed from starting to crashed
2016-10-27T22:20:12.373134+00:00 heroku[web.1]: State changed from crashed to starting
2016-10-27T22:20:14.527034+00:00 heroku[web.1]: Starting process with command `gulp`

为什么应用会这样做?

【问题讨论】:

    标签: node.js bash heroku gulp


    【解决方案1】:

    我可能错了,但我认为这是由于您的 Procfile 中 gulp 的路径。

    web: gulp 意味着您在远程机器上全局安装了gulp,而实际上每个 Heroku 构建都是从一个新的测功机开始的(即,没有对测功机的目的做出任何假设,因此很少有,如果任何超出基础的预安装模块)。简而言之,它找不到gulp作为全局安装的模块。

    尝试更新您的 Procfile 以使用本地安装的 gulp 模块:web: ./node_modules/gulp/bin/gulp

    来源:Deploying to Heroku using Gulp, Node, and Git

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 1970-01-01
      • 2012-09-11
      • 2015-04-24
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 2017-03-25
      相关资源
      最近更新 更多