Heroku NodeJS 找不到模块
Heroku NodeJS cannot find module
我有一个应用程序 运行 在本地运行良好,但在部署时无法 运行。
消息是
Error: Cannot find module 'jsonwebtoken'
即使我在 package.json 的 "dependencies" 中有它(不是 devdependency)
我尝试了 "heroku run bash" 并验证了 node_modules 文件夹中存在 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"
}
谁能帮我弄清楚这是怎么回事?
从 jsonwebtoken 的 package.json 判断,您在 Heroku 上使用的节点版本太旧。我建议升级到最新版本。
我很确定它在本地适合你,因为你是 运行 比 0 更新的版本。10.X 在你自己的计算机上。
我有一个应用程序 运行 在本地运行良好,但在部署时无法 运行。 消息是
Error: Cannot find module 'jsonwebtoken'
即使我在 package.json 的 "dependencies" 中有它(不是 devdependency)
我尝试了 "heroku run bash" 并验证了 node_modules 文件夹中存在 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"
}
谁能帮我弄清楚这是怎么回事?
从 jsonwebtoken 的 package.json 判断,您在 Heroku 上使用的节点版本太旧。我建议升级到最新版本。
我很确定它在本地适合你,因为你是 运行 比 0 更新的版本。10.X 在你自己的计算机上。