成功构建Rails应用并将其部署到heroku后,出现NPM错误

时间:2019-04-20 10:16:26

标签: ruby-on-rails heroku

我一直在使用google-maps-4-rails开发Rails应用程序以可视化自行车停放站。该应用程序在我的本地服务器上运行良好,但是在部署到Heroku时出现错误。我尝试在生产环境中本地启动它,但是它可以正常工作。我无所适从,而且由于这是我第一次涉足前端,因此我不知道该如何处理。

我之前添加了nodejs buildpack来解决其他一些问题,这可能会引起问题。我也格式化了package.json,尽管我不确定它是否正确。早期的问题与heroku上无法使用的纱有关。

我的package.json:

{
  "name": "sample_app",
  "private": true,
  "engines": {
    "yarn": "1.7.0"
  },
  "scripts": {
    "start": "node server"
  },
  "dependencies": {},
  "keywords": [
    "node",
    "heroku"
  ]
}

我来自heroku的日志:

: Starting process with command `npm start`
2019-04-20T09:54:42.459328+00:00 heroku[web.1]: State changed from starting to crashed
2019-04-20T09:54:42.009377+00:00 app[web.1]: 
2019-04-20T09:54:42.009398+00:00 app[web.1]: > sample_app@ start /app
2019-04-20T09:54:42.009399+00:00 app[web.1]: > node server
2019-04-20T09:54:42.009401+00:00 app[web.1]: 
2019-04-20T09:54:42.337386+00:00 app[web.1]: internal/modules/cjs/loader.js:584
2019-04-20T09:54:42.337425+00:00 app[web.1]: throw err;
2019-04-20T09:54:42.337427+00:00 app[web.1]: ^
2019-04-20T09:54:42.337429+00:00 app[web.1]: 
2019-04-20T09:54:42.337431+00:00 app[web.1]: Error: Cannot find module '/app/server'
2019-04-20T09:54:42.337433+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
2019-04-20T09:54:42.337434+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:508:25)
2019-04-20T09:54:42.337436+00:00 app[web.1]: at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
2019-04-20T09:54:42.337438+00:00 app[web.1]: at startup (internal/bootstrap/node.js:283:19)
2019-04-20T09:54:42.337439+00:00 app[web.1]: at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
2019-04-20T09:54:42.343303+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-04-20T09:54:42.343921+00:00 app[web.1]: npm ERR! errno 1
2019-04-20T09:54:42.345414+00:00 app[web.1]: npm ERR! sample_app@ start: `node server`
2019-04-20T09:54:42.345427+00:00 app[web.1]: npm ERR! Exit status 1
2019-04-20T09:54:42.349073+00:00 app[web.1]: npm ERR!
2019-04-20T09:54:42.349078+00:00 app[web.1]: npm ERR! Failed at the sample_app@ start script.
2019-04-20T09:54:42.349081+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-04-20T09:54:42.352338+00:00 app[web.1]: 
2019-04-20T09:54:42.352554+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-04-20T09:54:42.353207+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2019-04-20T09_54_42_347Z-debug.log
2019-04-20T09:54:42.440910+00:00 heroku[web.1]: Process exited with status 1

我不确定哪些文件可能有用,请告知我是否可以提供其他帮助

1 个答案:

答案 0 :(得分:1)

Heroku认为您的Rails应用程序是Nodejs应用程序,因为其中有package.json文件,没有Procfile。对于Rails应用来说,该package.json文件应该是完全不需要的,请尝试将其删除。