2017-12-09 7 views
0

ローカルで正常に動作しているアプリケーションがありますが、デプロイ時には実行できません。 メッセージがHeroku NodeJSがモジュールを見つけることができません

(devdependencyない)私は私のpackage.jsonで「依存関係」でそれを持っているにもかかわらず

Error: Cannot find module 'jsonwebtoken' 

である私は「Herokuのbashを実行する」試み、そのjsonwebtokenがnode_modulesフォルダに存在を確認しました。
最後に "heroku local web"を試してみました。 何らかの理由で、デプロイされても機能しません。

これは、これは私の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" 
} 

それが "CHECK1" ではなく "CHECK2"

を取得jsonwebtoken

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

を必要とするファイルの起動することができますです誰かが何が起こっているのか理解してもらえますか?

+0

モジュールとpackage.json –

+0

を編集する必要があるファイルに貼り付けることができます。ありがとう! – Frank

答えて

0

Herokuで使用しているノードのバージョンがjsonwebtokenのpackage.jsonから判断するには古すぎます。私は最新のバージョンにアップグレードすることをお勧めします。

自分のコンピュータで0.10.Xより新しいバージョンを実行しているため、ローカルで動作することは間違いありません。

+0

これはトリックでした!ありがとう! – Frank

関連する問題