2017-12-09 2 views
0

Ich habe eine Anwendung, die feinen lokal ausgeführt wird, aber kann nicht ausgeführt werden, wenn im Einsatz. Die Botschaft istHeroku NodeJS nicht finden kann, Modul

Error: Cannot find module 'jsonwebtoken' 

obwohl ich es in "Abhängigkeiten" in meinem package.json (nicht devdependency)

Ich habe versucht, "Heroku bash laufen" und überprüft, dass jsonwebtoken im Ordner node_modules existiert.
Schließlich habe ich versucht, „Heroku lokales Web“ und es funktioniert gut. Aber aus irgendeinem Grund funktioniert es nie bei der Bereitstellung.

Dies ist der Beginn der Datei, die jsonwebtoken

var mongoose = require('mongoose'); 
var crypto = require('crypto'); 
console.log('check1'); 
var jwt = require('jsonwebtoken'); 
console.log('check2'); 

Es braucht bekommt "check1", aber nicht "check2"

Das ist mein 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" 
} 

Can jemand bitte helfen Sie mir herauszufinden, was los ist?

+0

Können Sie in die Datei einfügen, die das Modul und die package.json benötigt –

+0

Edited. Vielen Dank! – Frank

Antwort

0

Der Knoten-Version auf Heroku verwenden, ist zu alt Geht man von der package.json von jsonwebtoken. Ich würde vorschlagen, auf die neueste Version zu aktualisieren.

Ich bin mir ziemlich sicher, dass es lokal für Sie funktioniert, weil Sie eine neuere Version als 0.10.X auf Ihrem eigenen Computer ausführen.

+0

Das hat den Trick gemacht! Vielen Dank! – Frank