2017-03-08 92 views
2

我想部署一个应用程序的NodeJS向Heroku的,我收到以下错误,当我检查heroku logs麻烦部署应用程序的NodeJS到Heroku的

SH:1:NPM-运行全:没有发现

的package.json看起来像这样

{ 


     "name": "web-training", 
      "version": "1.0.0", 
      "description": "web-training", 
      "scripts": { 
      "prestart": "babel-node tools/startMessage.js", 
      "start": "npm-run-all --parallel open:src lint:watch test:watch", 
      "open:src": "babel-node tools/srcServer.js", 
      "lint": "node_modules/.bin/esw webpack.config.* src tools", 
      "lint:watch": "npm run lint -- --watch", 
      "test": "mocha --reporter spec tools/testSetup.js \"src/**/*.test.js\"", 
      "test:watch": "npm run test -- --watch", 
      "clean-dist": "npm run remove-dist && mkdirp dist-server/dist", 
      "remove-dist": "node_modules/.bin/rimraf ./dist-server/dist", 
      "build:html": "babel-node tools/buildHtml.js", 
      "prebuild": "npm-run-all clean-dist test lint build:html", 
      "build": "babel-node tools/build.js", 
      "postbuild": "babel-node dist-server/server.js" 
      }, 
      "author": "Cory House", 
      "license": "MIT", 
      "dependencies": { 
      "babel-polyfill": "6.8.0", 
      "bootstrap": "3.3.6", 
      "compression": "^1.6.1", 
      "express": "^4.13.4", 
      "install": "^0.8.4", 
      "jquery": "2.2.3", 
      "material-ui": "^0.16.7", 
      "npm": "^4.0.5", 
      "open": "0.0.5", 
      "rd-react-overlay": "^1.4.2", 
      "react": "15.0.2", 
      "react-dom": "15.0.2", 
      "react-native-search-bar": "^2.16.0", 
      "react-native-vector-icons": "^4.0.0", 
      "react-redux": "4.4.5", 
      "react-router": "2.4.0", 
      "react-router-redux": "4.0.4", 
      "react-skylight": "^0.4.1", 
      "react-tap-event-plugin": "^2.0.1", 
      "redux": "3.5.2", 
      "redux-thunk": "2.0.1", 
      "toastr": "2.1.2" 
      }, 
      "devDependencies": { 
      "axios-mock-adapter": "^1.7.1", 
      "babel-cli": "6.8.0", 
      "babel-core": "6.8.0", 
      "babel-loader": "6.2.4", 
      "babel-plugin-react-display-name": "2.0.0", 
      "babel-preset-es2015": "6.6.0", 
      "babel-preset-react": "6.5.0", 
      "babel-preset-react-hmre": "1.1.1", 
      "babel-register": "6.8.0", 
      "colors": "1.1.2", 
      "compression": "1.6.1", 
      "cross-env": "1.0.7", 
      "css-loader": "0.23.1", 
      "enzyme": "2.2.0", 
      "eslint": "2.9.0", 
      "eslint-plugin-import": "1.6.1", 
      "eslint-plugin-react": "5.0.1", 
      "eslint-watch": "2.1.11", 
      "eventsource-polyfill": "0.9.6", 
      "expect": "1.19.0", 
      "express": "4.13.4", 
      "extract-text-webpack-plugin": "1.0.1", 
      "file-loader": "0.8.5", 
      "jsdom": "8.5.0", 
      "mocha": "2.4.5", 
      "nock": "8.0.0", 
      "npm-run-all": "1.8.0", 
      "open": "0.0.5", 
      "react-addons-test-utils": "15.0.2", 
      "react-search-component": "^1.1.2", 
      "redux-immutable-state-invariant": "1.2.3", 
      "redux-mock-store": "1.0.2", 
      "rimraf": "2.5.2", 
      "style-loader": "0.13.1", 
      "url-loader": "0.5.7", 
      "webpack": "1.13.0", 
      "webpack-dev-middleware": "1.6.1", 
      "webpack-hot-middleware": "2.10.0" 
      }, 
      "repository": { 
      "type": "git", 
      "url": "https://github.com/XXX/YYY" 
      } 
} 

当我与在本地运行我的应用程序在命令行中,它完美地工作。 有什么建议吗?

我加入Procfile内容:

web:npm run build 

我不知道也没关系。

+0

你能提供'Procfile'吗? – radbrawler

+0

我只是说上面 – LoanFlow

回答

1

·首先使您的帐户在Git和Heroku的

·安装Git和Heroku的您system..if您使用的是Windows必须安装的Git的bash

·让您的存储库中的git

·现在找出下面

-git init 

    -git clone {git repository url} 

    -cd {repository folder name} 

·命令在本地的Git存储库文件夹您的代码复制

·打开终端进入你的资料库文件夹,然后申请以下命令

-git init 

    -git add * 

    -git commit -m "your comment" 

    -git status 

    -git push origin master 

·检查git的云您的Git仓库

·打开新的终端应用以下命令

-git clone {repository url} 

    -cd {repository url} 

    -heroku login 

    -heroku create {name of your application on heroku} 

    -git remote(to verify heroku) 

    -git push heroku master 

    -heroku open 

**请按照以上步骤在heroku中部署您的代码*

您可以通过下面让演示节点JS项目Heroku的部署命令

  • 快递{项目名称} --ejs
  • CD {项目名称}
  • NPM安装
  • NPM启动
+0

的Procfile内容这是一个Git仓库已经... – LoanFlow

+0

如果你已经这么克隆使用以下命令 –

+0

-CD {仓库路径}, -heroku登录, -heroku创建{名你的应用程序在heroku上}, -git remote(验证heroku), -git push heroku master, -heroku open –

1

只是想分享我的经验,因为我在使用npm-run-all部署到Heroku时遇到类似的问题。

它看起来像Heroku的默认构建应用程序时运行开始脚本,是无法成功运行npm-run-all(我在终端运行heroku logs后发现)。我原本有我的脚本,如this(请注意我在开始脚本中如何使用npm-run-all),并遇到应用程序错误。

我只是改变了开始脚本回到刚才node server.js并创建了一个新的脚本运行npm-run-all,像this。这对我有效。

(很抱歉的图像链接,因此,不会让我张贴图片,除非我至少有10声誉。)

希望这有助于任何人都遇到了同样的问题。