私は Mern Stack (Mongo Express React/Redux Node) をテストしており、問題なく開発をセットアップしています。今、Heroku にデプロイしようとしています。通常どおり git push heroku master を実行しましたが、ウェブサイトをチェックアウトすると、Heroku のアプリケーション エラーが表示されます。Heroku を介して MongoDB を追加し、heroku 構成変数を変更したため、そのデータベースが使用されます (これは正しく行ったと思います)。だから私はログにチェックインします:
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! mern-starter@1.0.0 start: `cross-env NODE_ENV=development nodemon index.js`
npm ERR! spawn ENOENT
少し下に:
> mern-starter@1.0.0 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! mern-starter@1.0.0 start: `cross-env NODE_ENV=development nodemon index.js`
npm ERR! syscall spawn
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the mern-starter@1.0.0 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"
}
では、どうすればこれを機能させることができますか?
編集:
"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"
},