2017-12-09 20 views
0

로컬로 실행 중이지만 배포시 실행할 수없는 응용 프로그램이 있습니다. 메시지는 내가 Heroku NodeJS가 모듈을 찾을 수 없습니다.

내가 "Heroku가이 떠들썩한 파티를 실행"시도하고 jsonwebtoken는 node_modules 폴더에 존재 확인 내 package.json에 "종속"(하지 devdependency)에가더라도

Error: Cannot find module 'jsonwebtoken' 

입니다.
마지막으로 "heroku local web"을 시도했는데 정상적으로 작동합니다. 그러나 어떤 이유로 그것은 배치 될 때 절대로 작동하지 않습니다.

가 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" 
} 

수 누군가 나에게 무슨 일이 일어나는지 알아낼 수있게 도와 주시겠습니까?

+0

모듈 및 package.json이 필요한 파일에 붙여 넣을 수 있습니까 –

+0

수정 됨. 감사! – Frank

답변

0

Heroku에서 사용중인 노드 버전이 jsonwebtoken의 package.json에서 너무 오래된 것으로 판단됩니다. 최신 버전으로 업그레이드하는 것이 좋습니다.

나는 자신의 컴퓨터에서 0.10.X 이상의 최신 버전을 실행하고 있기 때문에 로컬 컴퓨터에서 작동한다고 확신합니다.

+0

이것은 트릭을 만들었습니다! 감사! – Frank