AWS Elastic Beanstalk - 找不到模块 "hapi"
AWS Elastic Beanstalk - cannot find module "hapi"
我有一个试图在 Elastic Beanstalk 上托管的 NodeJs 应用程序。我复制了示例应用程序的结构,但我的服务器上的运行状况为 Severe,并且日志告诉我 cannot find module 'hapi'
.
我采取的步骤很简单。我的根文件夹的内容是...
|__ package-lock.json
|__ package.json
|__ server.js
|__ src (directory)
我的package.json
的内容是...
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node server.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"axios": "^0.18.1",
"boom": "^7.2.0",
"dotenv": "^6.1.0",
"glob": "^7.1.3",
"hapi": "^17.6.0",
"mongoose": "^5.7.11",
"path": "^0.12.7",
"querystring": "^0.2.0",
"socket.io": "^2.1.1"
}
}
接下来我要做的是将内容压缩成一个 zip 文件。我在 Elastic Beanstalk 上上传并部署了 zip 文件,之后,我收到了上面列出的错误消息。
知道我可能做错了什么吗?当我在本地 运行 npm install
时,一切看起来都应该 运行。我假设当 EB 尝试安装软件包时它失败了,但我不确定为什么。
您似乎已将大部分依赖项保存为 devDependencies
,这意味着它们在 运行 生产时间不可用。 devDependencies
是开发时需要的模块,运行时需要依赖。
当您 运行 npm install package --save-dev
而不是 npm install package --save
时,就会发生这种情况
很确定您需要其中的大部分依赖项:
"dependencies": {
"axios": "^0.18.1",
"boom": "^7.2.0",
"glob": "^7.1.3",
"hapi": "^17.6.0",
"mongoose": "^5.7.11",
"path": "^0.12.7",
"querystring": "^0.2.0",
"socket.io": "^2.1.1"
}
并且只有本地开发环境所需的模块位于:
"devDependencies": {
"dotenv": "^6.1.0",
}
快速回顾一下您在 运行 生产期间的实际需求并更新您的 dependencies
我有一个试图在 Elastic Beanstalk 上托管的 NodeJs 应用程序。我复制了示例应用程序的结构,但我的服务器上的运行状况为 Severe,并且日志告诉我 cannot find module 'hapi'
.
我采取的步骤很简单。我的根文件夹的内容是...
|__ package-lock.json
|__ package.json
|__ server.js
|__ src (directory)
我的package.json
的内容是...
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node server.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"axios": "^0.18.1",
"boom": "^7.2.0",
"dotenv": "^6.1.0",
"glob": "^7.1.3",
"hapi": "^17.6.0",
"mongoose": "^5.7.11",
"path": "^0.12.7",
"querystring": "^0.2.0",
"socket.io": "^2.1.1"
}
}
接下来我要做的是将内容压缩成一个 zip 文件。我在 Elastic Beanstalk 上上传并部署了 zip 文件,之后,我收到了上面列出的错误消息。
知道我可能做错了什么吗?当我在本地 运行 npm install
时,一切看起来都应该 运行。我假设当 EB 尝试安装软件包时它失败了,但我不确定为什么。
您似乎已将大部分依赖项保存为 devDependencies
,这意味着它们在 运行 生产时间不可用。 devDependencies
是开发时需要的模块,运行时需要依赖。
当您 运行 npm install package --save-dev
而不是 npm install package --save
很确定您需要其中的大部分依赖项:
"dependencies": {
"axios": "^0.18.1",
"boom": "^7.2.0",
"glob": "^7.1.3",
"hapi": "^17.6.0",
"mongoose": "^5.7.11",
"path": "^0.12.7",
"querystring": "^0.2.0",
"socket.io": "^2.1.1"
}
并且只有本地开发环境所需的模块位于:
"devDependencies": {
"dotenv": "^6.1.0",
}
快速回顾一下您在 运行 生产期间的实际需求并更新您的 dependencies