2016-04-21 15 views
9

Khi tôi chạy heroku local hoặc khi tôi chỉ làm npm start cục bộ, ứng dụng của tôi tạo và chạy tốt. Tuy nhiên khi tôi triển khai với heroku, ứng dụng bị treo nói rằng nó không thể tìm thấy nút babel.kịch bản lệnh bắt đầu package.json, nút babel: không tìm thấy trên heroku triển khai

Đây là kết quả ghi:

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 của tôi:

{ 
    "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" 
    } 
} 

Bất cứ ai cũng có đề xuất?

+0

Cũng có cùng một vấn đề sử dụng elasticbeanstalk mà tôi thử nghĩ có lẽ đó chỉ là một số Heroku đứa. – eagspoo

Trả lời

13

Bạn phải bao gồm sự phụ thuộc vào bạn package.json để nó sẽ cài đặt nó khi bạn triển khai.

$ npm install babel-cli -S 

hơn bạn phải thay đổi bạn start lệnh được như:

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

Xem here để biết thêm về triển khai babel trên heroku.com.

Cảnh báo: sử dụng babel-nút không được khuyến khích trong sản xuất

+1

Thay đổi lệnh bắt đầu không thực sự được yêu cầu nhưng bạn cần phải đặt babel vào các phụ thuộc, không phải devDependencies. – eagspoo

+1

[Heroku sẽ không cài đặt devDependencies] (https://devcenter.heroku.com/articles/nodejs-support#devdependencies) theo mặc định –

+2

Bạn không nên sử dụng nút babel trên sản xuất, theo lời khuyên của nhóm Babel: https://babeljs.io/docs/usage/cli/#babel-node – vcarel

4

Tôi có cùng một vấn đề, nhưng tôi nghĩ rằng thiết NPM_CONFIG_PRODUCTION=false để cài đặt devDependencies sẽ tốt hơn. Tôi sử dụng dưới đây lệnh:

heroku config:set NPM_CONFIG_PRODUCTION=false 
Các vấn đề liên quan