2016-04-13 7 views
0

Mern Stack(Mongo Express React/Redux Node)をテストし、問題なく開発するように設定しています。今、私はHerokuに展開しようとしています。私は普通のようにgit push heroku masterをやりましたが、私がウェブサイトをチェックアウトするとHerokuのApplication Errorが表示されます。私はHerokuを介してMongoDBを追加し、heroku設定変数を変更したので、dbを使用します(私はこれを正しく行ったと思います)。だから私は、ログにチェックイン:Mern StackをHeroku上で動作させる方法

npm ERR! file sh 
npm ERR! code ELIFECYCLE 
npm ERR! errno ENOENT 
npm ERR! syscall spawn 
npm ERR! [email protected] start: `cross-env NODE_ENV=development nodemon index.js` 
npm ERR! spawn ENOENT 

ダウン少し方法:

> [email protected] start /app 
> cross-env NODE_ENV=development nodemon index.js 
    sh: 1: cross-env: not found 

さらに下:

npm ERR! Linux 3.13.0-79-generic 
npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start" 
npm ERR! node v5.10.0 
npm ERR! npm v3.8.3 
npm ERR! file sh 
npm ERR! code ELIFECYCLE 
npm ERR! errno ENOENT 
npm ERR! [email protected] start: `cross-env NODE_ENV=development nodemon index.js` 
npm ERR! syscall spawn 
npm ERR! spawn ENOENT 
npm ERR! 
npm ERR! Failed at the [email protected] start script 'cross-env NODE_ENV=development nodemon index.js'. 

だから私は、バックエンドについて多くを知っているが、それはありませんpackage.jsonで開発スクリプトを実行しているようです:

"scripts": { 
    "test": "mocha shared/tests/*.spec.js --compilers js:babel-register", 
    "test:server": "cross-env NODE_ENV=test PORT=8080 MONGO_URL=mongodb://localhost:27017/mern-test mocha --compilers js:babel-register --recursive server/tests/**/*.spec.js", 
    "start": "cross-env NODE_ENV=development nodemon index.js", 
    "start:prod": "cross-env NODE_ENV=production node index.js", 
    "bs": "npm run clean && npm run build && npm run start:prod", 
    "minify": "cleancss -o static/css/app.min.css static/css/app.css", 
    "build": "cross-env NODE_ENV=production webpack --config webpack.config.prod.js && npm run minify", 
    "clean": "rimraf static/dist", 
    "slate": "rimraf node_modules && npm install", 
    "lint": "eslint client server shared" 
    } 

これをどのように機能させることができますか?

EDIT:

"devDependencies": { 
    "babel-eslint": "^5.0.0-beta6", 
    "babel-loader": "^6.2.1", 
    "babel-plugin-react-transform": "^2.0.0", 
    "babel-plugin-transform-react-constant-elements": "6.5.0", 
    "babel-plugin-transform-react-inline-elements": "6.6.5", 
    "babel-plugin-transform-react-remove-prop-types": "0.2.4", 
    "babel-polyfill": "^6.3.14", 
    "babel-preset-es2015": "^6.3.13", 
    "babel-preset-react": "^6.3.13", 
    "babel-preset-react-hmre": "^1.1.0", 
    "babel-register": "^6.7.2", 
    "chai": "^3.5.0", 
    "clean-css": "^3.4.9", 
    "cross-env": "^1.0.7", 
    "css-loader": "^0.23.1", 
    "css-modules-require-hook": "^2.1.0", 
    "deep-freeze": "0.0.1", 
    "eslint": "^1.10.3", 
    "eslint-config-airbnb": "^4.0.0", 
    "eslint-plugin-react": "^3.16.1", 
    "expect": "^1.13.4", 
    "expect-jsx": "^2.2.2", 
    "extract-text-webpack-plugin": "^1.0.1", 
    "mocha": "^2.4.5", 
    "nodemon": "^1.9.1", 
    "pre-commit": "^1.1.2", 
    "react-addons-test-utils": "^0.14.7", 
    "react-transform-hmr": "^1.0.1", 
    "redux-devtools": "^3.1.1", 
    "redux-devtools-dock-monitor": "^1.1.0", 
    "redux-devtools-log-monitor": "^1.0.4", 
    "rimraf": "^2.5.1", 
    "style-loader": "^0.13.0", 
    "supertest": "^1.1.0", 
    "webpack": "^1.12.12", 
    "webpack-dev-middleware": "^1.5.1", 
    "webpack-hot-middleware": "^2.6.4" 
    }, 
+0

package.jsonの依存関係を投稿できますか? 'cross-env'は含まれていますか?または、コマンドを実行する前に 'npm install'を実行したことを確認できますか? – lux

+0

dev-dependenciesを表示するように編集しました。クロスenvはそこにあります。それは依存関係ですか? – jro

+0

あなたは 'npm run <スクリプトのコマンドが何であれ>の前に' npm install'を実行しましたか? – lux

答えて

1

は、私がここでそれについて書いた:herokouはあなたのdevDependencies木について知っていないため、https://hashnode.com/post/deploying-mern-to-heroku-success-cio7sc1py013nis531rg3lfmz

理由は、唯一の定期的なdependenciesがプッシュされます。

クイックフィックスは、あなたはまた、.gitignoreファイルから次を削除する必要がありますあなたのdependencies

にごdevDependenciesのすべてをコピーすることです:カップル他のステップは、私があります

public/* static/dist static/css/app.min.css

記事で概説されていますが、それはいくつかの余分な構成なしで動作しない主な理由です。

+0

私はチュートリアルに従いましたが、私のアプリケーションは起動していません。 heroku cliサーバーから "heroku run node server.js"コマンドを実行すると、ポート8080で起動しますが、アクセスできません。アプリケーションエラーと言います。私はデータベースパスとしてmLabリンクを追加しました(dynoではなく、クレジットカードの入力を求められます)。これを理解するのを助けることができますか? – HelpingHand

+0

'heroku logs --tail'でログをチェックしてください。クラッシュの原因となっているエラーを洞察してください – jakeed1

関連する問題