2017-03-08 90 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聲譽。)

希望這有助於任何人都遇到了同樣的問題。