上传到Heroku的NodeJS网站无法加载,由于某种原因找不到依赖项

时间:2018-09-26 12:17:49

标签: node.js heroku npm deployment npm-install

试图将我的网站上传到Heroku服务器。 这不是我的第一次,而且我没有遇到任何问题。我添加了一个功能。 这是package.json:

    {
  "name": "exodia-coming-soon",
  "version": "1.0.0",
  "description": "Coming Soon\r http://exodia.io",
  "main": "server.js",
  "dependencies": {
    "express": "^4.16.3",
    "nodemon": "^1.18.4",
    "path": "^0.12.7"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon server.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Amirh24/exodia-landing.git"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/Amirh24/exodia-landing/issues"
  },
  "homepage": "https://github.com/Amirh24/exodia-landing#readme"
}    

重要的是依赖项和 devDependencies部分。

当我将其上传到heroku并且不会加载时,日志显示:

2018-09-26T12:09:21.012703+00:00 app[web.1]: > exodia-coming-soon@1.0.0 start /app
2018-09-26T12:09:21.012705+00:00 app[web.1]: > nodemon server.js
2018-09-26T12:09:21.012706+00:00 app[web.1]:
2018-09-26T12:09:21.107321+00:00 app[web.1]: module.js:550
2018-09-26T12:09:21.107325+00:00 app[web.1]: throw err;
2018-09-26T12:09:21.107326+00:00 app[web.1]: ^
2018-09-26T12:09:21.107329+00:00 app[web.1]: Error: Cannot find module '../lib/cli'

当我尝试不使用nodemon进行启动时,仅获得node server.js:

2018-09-26T11:49:07.146721+00:00 app[web.1]: > node server.js
2018-09-26T11:49:07.146723+00:00 app[web.1]:
2018-09-26T11:49:07.257964+00:00 app[web.1]: module.js:550
2018-09-26T11:49:07.257968+00:00 app[web.1]: throw err;
2018-09-26T11:49:07.257969+00:00 app[web.1]: ^
2018-09-26T11:49:07.257971+00:00 app[web.1]:
2018-09-26T11:49:07.257973+00:00 app[web.1]: Error: Cannot find module './lib/express'

我已经安装了我的3个依赖项:express,path和nodemon都使用--save和-g变体进行了两次。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

在哪里抛出该错误?您似乎正在尝试使用相对位置的文件,而不是express中的node_modules。您的项目是否有lib文件夹?您是否也在上传?

您可以使用npm uninstall -g express卸载全球快递。删除您的node_modules文件夹,然后以npm installnpm start重新开始。它在本地运行吗?