2017-03-07 40 views
2

我嘗試在Heroku上部署Node.js API,但顯示應用程序錯誤。babel-node在運行時未被識別heroku local web

所以,用「Heroku的本地Web」命令來測試任何error..and得到了一個錯誤說「通天節點」不被識別爲一個內部或外部命令,可操作的程序或批處理文件。

在另一方面,當我運行命令「NPM啓動」我沒有得到任何錯誤和服務器開始運行。

的package.json

{ 
     "name": "apollo-starter-kit", 
     "version": "0.1.0", 
     "description": "Minimal set of code to write a GraphQL server with Apollo graphql-tools", 
     "scripts": { 
     "start": "nodemon ./server.js --exec babel-node", 
     "test": "echo \"Error: no test specified\" && exit 1", 
     "lint": "eslint ." 
     }, 
     "repository": { 
     "type": "git", 
     "url": "git+https://github.com/apollostack/apollo-starter-kit.git" 
     }, 
     "keywords": [ 
     "Node.js", 
     "Javascript", 
     "GraphQL", 
     "Express", 
     "Apollo", 
     "Meteor" 
     ], 
     "author": "Jonas Helfer <[email protected]>", 
     "license": "MIT", 
     "bugs": { 
     "url": "https://github.com/apollostack/apollo-starter-kit/issues" 
     }, 
     "homepage": "https://github.com/apollostack/apollo-starter-kit#readme", 
     "dependencies": { 
     "apollo-server": "^0.1.2", 
     "casual": "^1.5.10", 
     "cors": "^2.8.1", 
     "express": "^4.13.4", 
     "lodash": "^4.17.4", 
     "mongoose": "^4.8.1", 
     "sequelize": "^3.30.2", 
     "sqlite": "^2.3.0" 
     }, 
     "devDependencies": { 
     "babel-cli": "6.5.1", 
     "babel-core": "^6.5.2", 
     "babel-eslint": "^6.0.0-beta.6", 
     "babel-loader": "6.2.3", 
     "babel-plugin-inline-import": "^2.0.1", 
     "babel-polyfill": "6.5.0", 
     "babel-preset-es2015": "6.5.0", 
     "babel-preset-react": "^6.5.0", 
     "babel-preset-stage-0": "6.5.0", 
     "casual": "^1.5.10", 
     "eslint": "^2.4.0", 
     "eslint-config-airbnb": "^6.1.0", 
     "eslint-plugin-import": "^1.1.0", 
     "eslint-plugin-react": "^4.2.3", 
     "graphql": "^0.6.0", 
     "nodemon": "^1.9.1" 
     }, 
     "peerDependencies": { 
     "graphql": "^0.5.0 || ^0.6.0" 
     }, 
     "eslintConfig": { 
     "parser": "babel-eslint", 
     "extends": [ 
      "airbnb/base", 
      "plugin:import/errors" 
     ], 
     "rules": { 
      "no-use-before-define": 0, 
      "arrow-body-style": 0, 
      "dot-notation": 0, 
      "no-console": 0 
     }, 
     "env": { 
      "mocha": true 
     } 
     } 
    } 

回答

2

我認爲最可能的原因是babel是開發依賴的一部分,那些不是默認安裝通過官方的node.js buildpack。將NPM_CONFIG_PRODUCTION更改爲false,它應該可以工作。

您可以使用命令行

heroku config:set NPM_CONFIG_PRODUCTION=false 

您可以隨時登錄到Heroku的測功機,以檢查是否正確安裝

heroku run bash 
一切