【问题标题】:Reactjs: Unable to push to HerokuReactjs:无法推送到 Heroku
【发布时间】:2018-07-06 10:50:14
【问题描述】:

我正在尝试将 Reactjs 应用程序推送到 Heroku。

这是我的package.json 文件:

{
  "name": "redux-simple-starter",
  "version": "1.0.0",
  "description": "Simple starter package for Redux with React and Babel support",
  "main": "index.js",
  "repository": "git@github.com:ldco2016/efUtube.git",
  "scripts": {
    "dev": "node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js",
    "postinstall": "webpack -p",
    "start": "node server.js",
    "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive ./test",
    "test:watch": "npm run test -- --watch"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.2.1",
    "babel-loader": "^6.2.0",
    "babel-preset-es2015": "^6.1.18",
    "babel-preset-react": "^6.1.18",
    "chai": "^3.5.0",
    "chai-jquery": "^2.0.0",
    "jquery": "3.0.0",
    "jsdom": "^8.1.0",
    "mocha": "^2.4.5",
    "react-addons-test-utils": "^0.14.7",
    "webpack": "^1.12.9",
    "webpack-dev-server": "^1.14.0"
  },
  "dependencies": {
    "babel-preset-stage-1": "^6.1.18",
    "lodash": "^3.10.1",
    "node": "9.4.0",
    "react": "^0.14.3",
    "react-dom": "^0.14.3",
    "react-redux": "^4.0.0",
    "react-router": "^2.0.1",
    "redux": "^3.0.4",
    "youtube-api-search": "0.0.5"
  }
}

我进行了:

npm install -g webpack 以及webpack -p

我创建了一个server.js 文件并使用以下代码完成了它:

const express = require('express');
const path = require('path');
const port = process.env.PORT || 8080;
const app = express();

app.use(express.static(__dirname));

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, 'index.html'))
});

app.listen(port);
console.log('Server started');

当我在命令行中运行 node server.js 时,它在本地工作,但在提交和推送更改并运行时:

git push heroku master我反复收到这个错误:

remote: /app/tmp/buildpacks/19862b8792e84bd8421ded4660b92dfd1c41d92e19ac0b38c90301adc8ae3e0bd512fa01998af18fc2f0d31a157e9c82e8fdceba1a05e5d29adb8dc2bfaf08e1/lib/failure.sh: line 282: greq: command not found
remote:
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote:        Some possible problems:
remote:
remote:        - Node version not specified in package.json
remote:        https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
remote:
remote:        Love,
remote:        Heroku
remote:
remote:  !     Push rejected, failed to compile Node.js app.
remote:

【问题讨论】:

  • 我发现最好的方法是使用这个 buildpack github.com/mars/create-react-app-buildpack
  • @Swapnil,在你写它之前我只是在研究它。您可能是对的,这是我迄今为止看到的唯一解决方案。

标签: node.js git heroku


【解决方案1】:

用这个命令node -v检查你的节点版本,用这个命令npm -v检查npm版本, 然后在 package.json 中指定节点和 npm 版本,如下所示:

"engines": { "node": "8.1.x", "npm": "5.0.x" },

确保在依赖项和 devDependencies 列表之前指定它。

【讨论】:

  • 看来我还得删除"postinstall":"webpack -p"
  • 我很高兴有这个帮助,是的,不确定你是否需要它,为什么你之前把它放在那里
  • 我正在看一个说我需要它的教程,但结果我实际上得到了一个错误。我还需要安装express,但现在我有一个不同的问题,它成功推送到heroku,但我在浏览器上看到一个空白屏幕。我正在努力解决这个问题。
  • 是的,我看到你在哪里发布了错误,我实际上回复了你可以做些什么来解决它。请查收:stackoverflow.com/questions/48493781/…
猜你喜欢
  • 2016-12-14
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
相关资源
最近更新 更多