Heroku NodeJS找不到模块

时间:2017-12-09 19:49:59

标签: node.js heroku module json-web-token

我的应用程序在本地运行正常,但在部署时无法运行。 消息是

Error: Cannot find module 'jsonwebtoken'

即使我有"依赖"在我的package.json(不是devdependency)

我试过" heroku运行bash"并验证jsonwebtoken存在于node_modules文件夹中 最后我尝试了#34; heroku本地网络"它工作正常。 但由于某种原因,部署后它永远不会起作用。

这是需要jsonwebtoken

的文件的开头
var mongoose = require('mongoose');
var crypto = require('crypto');
console.log('check1');
var jwt = require('jsonwebtoken');
console.log('check2');

进入" check1"但不是" check2"

这是我的package.json

{
  "name": "loc8r",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "engines": {
    "node": "~0.10.13",
    "npm": "~1.3.2"
  },
  "dependencies": {
    "body-parser": "~1.8.1",
    "cookie-parser": "~1.3.3",
    "debug": "^2.0.0",
    "dotenv": "^4.0.0",
    "express": "~4.9.0",
    "express-jwt": "^5.3.0",
    "jade": "~1.6.0",
    "jsonwebtoken": "^8.1.0",
    "mongoose": "^4.13.5",
    "morgan": "~1.3.0",
    "passport": "^0.4.0",
    "passport-local": "^1.0.0",
    "request": "~2.51.0",
    "serve-favicon": "~2.1.3",
    "uglify-js": "~2.4.15"
  },
  "description": "myapp",
  "main": "app.js",
  "devDependencies": {},
  "keywords": [],
  "author": "",
  "license": "ISC"
}

有人可以帮我弄清楚发生了什么吗?

1 个答案:

答案 0 :(得分:1)

从jokuwebtoken的package.json判断,你在Heroku上使用的节点版本太旧了。我建议升级到最新版本。

我非常确定它适用于您本地,因为您在自己的计算机上运行的是比0.10.X更新的版本。