2016-04-21 16 views
9

heroku localを実行するか、ローカルでnpm startを実行すると、アプリケーションが正しく構築されて実行されます。しかし、私がherokuにデプロイするとき、アプリはbabel-nodeを見つけることができないと言ってクラッシュします。ここでpackage.json起動スクリプト、babel-node:herokuデプロイ時に見つかりません

はログ出力されます:

2016-04-21T22:20:44.320025+00:00 heroku[api]: Deploy 5d9a9da by [email protected] 
2016-04-21T22:20:44.320084+00:00 heroku[api]: Release v9 created by [email protected] 
2016-04-21T22:20:44.542062+00:00 heroku[slug-compiler]: Slug compilation started 
2016-04-21T22:20:44.542069+00:00 heroku[slug-compiler]: Slug compilation finished 
2016-04-21T22:20:44.501025+00:00 heroku[web.1]: State changed from crashed to starting 
2016-04-21T22:20:46.278065+00:00 heroku[web.1]: Starting process with command `npm start` 
2016-04-21T22:20:50.467407+00:00 app[web.1]: 
2016-04-21T22:20:50.467434+00:00 app[web.1]: > [email protected] start /app 
2016-04-21T22:20:50.467435+00:00 app[web.1]: > babel-node index.js 
2016-04-21T22:20:50.467436+00:00 app[web.1]: 
2016-04-21T22:20:50.479490+00:00 app[web.1]: sh: 1: babel-node: not found 
2016-04-21T22:20:50.521936+00:00 app[web.1]: 
2016-04-21T22:20:50.538822+00:00 app[web.1]: npm ERR! Linux 3.13.0-79-generic 
2016-04-21T22:20:50.539334+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start" 
2016-04-21T22:20:50.539595+00:00 app[web.1]: npm ERR! node v5.10.1 
2016-04-21T22:20:50.555119+00:00 app[web.1]: npm ERR! npm v3.8.3 
2016-04-21T22:20:50.555339+00:00 app[web.1]: npm ERR! file sh 
2016-04-21T22:20:50.555549+00:00 app[web.1]: npm ERR! code ELIFECYCLE 
2016-04-21T22:20:50.555769+00:00 app[web.1]: npm ERR! errno ENOENT 
2016-04-21T22:20:50.555965+00:00 app[web.1]: npm ERR! syscall spawn 
2016-04-21T22:20:50.556142+00:00 app[web.1]: npm ERR! [email protected] start: `babel-node index.js` 
2016-04-21T22:20:50.556305+00:00 app[web.1]: npm ERR! spawn ENOENT 
2016-04-21T22:20:50.556488+00:00 app[web.1]: npm ERR! 
2016-04-21T22:20:50.556666+00:00 app[web.1]: npm ERR! Failed at the [email protected] start script 'babel-node index.js'. 
2016-04-21T22:20:50.556854+00:00 app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed. 
2016-04-21T22:20:50.557017+00:00 app[web.1]: npm ERR! If you do, this is most likely a problem with the qc-server package, 
2016-04-21T22:20:50.557175+00:00 app[web.1]: npm ERR! not with npm itself. 
2016-04-21T22:20:50.557343+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system: 
2016-04-21T22:20:50.557564+00:00 app[web.1]: npm ERR!  babel-node index.js 
2016-04-21T22:20:50.557741+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with: 
2016-04-21T22:20:50.557916+00:00 app[web.1]: npm ERR!  npm bugs qc-server 
2016-04-21T22:20:50.558110+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via: 
2016-04-21T22:20:50.558306+00:00 app[web.1]: npm ERR!  npm owner ls qc-server 
2016-04-21T22:20:50.558492+00:00 app[web.1]: npm ERR! There is likely additional logging output above. 
2016-04-21T22:20:50.563859+00:00 app[web.1]: 
2016-04-21T22:20:50.567790+00:00 app[web.1]: npm ERR! Please include the following file with any support request: 
2016-04-21T22:20:50.568004+00:00 app[web.1]: npm ERR!  /app/npm-debug.log 
2016-04-21T22:20:51.824822+00:00 heroku[web.1]: State changed from starting to crashed 
2016-04-21T22:20:51.808246+00:00 heroku[web.1]: Process exited with status 1 

マイpackage.json:

{ 
    "name": "qc-server", 
    "version": "1.0.0", 
    "description": "xxxx", 
    "main": "index.js", 
    "scripts": { 
    "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js 'test/**/*.js'", 
    "test:watch": "npm run test -- --watch -G", 
    "start": "babel-node index.js" 
    }, 
    "babel": { 
    "presets": [ 
     "es2015" 
    ] 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "babel-cli": "^6.6.0", 
    "babel-core": "^6.6.0", 
    "babel-eslint": "^5.0.0", 
    "babel-preset-es2015": "^6.6.0", 
    "chai": "^3.5.0", 
    "chai-immutable": "^1.5.3", 
    "eslint": "^2.2.0", 
    "eslint-config-airbnb": "^6.0.2", 
    "eslint-plugin-react": "^4.1.0", 
    "mocha": "^2.4.5" 
    }, 
    "dependencies": { 
    "express": "^4.13.4", 
    "immutable": "^3.7.6", 
    "node-uuid": "^1.4.7", 
    "redux": "^3.3.1", 
    "socket.io": "^1.4.5" 
    } 
} 

誰でも提案がありますか?

+0

はまた、私は多分それはちょうど、いくつかのHerokuのの癖だと思って試してみましたelasticbeanstalkを使用して同じ問題を抱えていました。 – eagspoo

答えて

13

依存関係をpackage.jsonに含めると、展開時にインストールされるようになります。あなたのようなことをあなたにstartコマンドを変更するために持っているよりも

$ npm install babel-cli -S 

"start": "babel-node index.js" 

はheroku.comにバベルのデプロイの詳細はhereを参照してください。

警告:バベル・ノードを使用して生産

+1

開始コマンドを変更することは実際には必要ではありませんが、devDependenciesではなく依存関係にbabelを入れる必要があります。 – eagspoo

+1

[HerokuはdevDependenciesをインストールしません](https://devcenter.heroku.com/articles/nodejs-support#devdependencies) –

+2

Babelチームからアドバイスを受けて、本番環境でbabel-nodeを使用しないでください。https:/ /babeljs.io/docs/usage/cli/#babel-node – vcarel

4

で推奨されていない私は、同じ問題を得たが、私はdevDependenciesが良くなるインストールするNPM_CONFIG_PRODUCTION=falseを設定すると思います。私は、コマンドの下に使用:

heroku config:set NPM_CONFIG_PRODUCTION=false 
関連する問題