node.js - 为什么在heroku中找不到googleapis节点模块?
问题描述
我有一个使用 Node Js 制作的聊天机器人。它使用“googleapis”。当我从笔记本电脑创建服务器时,它工作正常。但我将文件上传到 github 并使用 heroku 作为服务器。我在 heroku 提供的用于访问该应用程序的网址上收到“应用程序错误”。如何修复它。
警告:见https://github.com/lorenwest/node-config/wiki/Strict-Mode 2019-11-20T07:55:39.730004+00:00 应用[web.1]:内部/模块/cjs/loader.js:800 2019-11-20T07:55:39.730026+00:00 应用[web.1] : 抛出错误;2019-11-20T07:55:39.730028+00:00 应用程序 [web.1]:^ 2019-11-20T07:55:39.730030+00:00 应用程序 [web.1]:2019-11-20T07:55:39.730032 +00:00 app[web.1]:错误:找不到模块 'googleapis' 2019-11-20T07:55:39.730034+00:00 app[web.1]:需要堆栈:2019-11-20T07:55: 39.730036+00:00 app[web.1]: - /app/app.js 2019-11-20T07:55:39.730045+00:00 app[web.1]: 在 Function.Module._resolveFilename (internal/modules/ cjs/loader.js:797:15) 2019-11-20T07:55:39.730047+00:00 app[web.1]: 在 Function.Module._load (internal/modules/cjs/loader.js:690:27 ) 2019-11-20T07:55:39.730050+00:00 app[web.1]: 在 Module.require (internal/modules/cjs/loader.js:852:19) 2019-11-20T07:55:39.730052+ 00:00 应用程序[web.1]:在需要(内部/模块/cjs/helpers.js:74:18)2019-11-20T07:55:39.730053+00:00 app[web.1]:在对象。(/app/app.js:23:16) 2019-11-20T07:55:39.730055+00:00 app[web.1]: 在 Module._compile (internal/modules/cjs/loader.js:959:30 ) 2019-11-20T07:55:39.730057+00:00 app[web.1]: 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10) 2019-11-20T07 :55:39.730059+00:00 app[web.1]: 在 Module.load (internal/modules/cjs/loader.js:815:32) 2019-11-20T07:55:39.730061+00:00 app[web .1]:在 Function.Module._load (internal/modules/cjs/loader.js:727:14) 2019-11-20T07:55:39.730063+00:00 app[web.1]:在 Function.Module。 runMain (internal/modules/cjs/loader.js:1047:10) { 2019-11-20T07:55:39.730065+00:00 app[web.1]: 代码: 'MODULE_NOT_FOUND', 2019-11-20T07:55 :39.730067+00:00 app[web.1]:requireStack:['/app/app. js'] 2019-11-20T07:55:39.730069+00:00 app[web.1]: } 2019-11-20T07:55:39.737402+00:00 app[web.1]: npm 错误!代码 ELIFECYCLE 2019-11-20T07:55:39.737824+00:00 app[web.1]: npm ERR!错误号 1 2019-11-20T07:55:39.739094+00:00 应用程序 [web.1]:npm 错误!messenger-get-started@1.0.0 开始:
node app.js
2019-11-20T07:55:39.739328+00:00 应用程序 [web.1]:npm 错误!退出状态 1 2019-11-20T07:55:39.739554+00:00 app[web.1]: npm ERR! 2019-11-20T07:55:39.739763+00:00 应用 [web.1]:npm 错误!在 messenger-get-started@1.0.0 启动脚本中失败。2019-11-20T07:55:39.739994+00:00 应用程序 [web.1]:npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。2019-11-20T07:55:39.747500+00:00 app[web.1]: 2019-11-20T07:55:39.747681+00:00 app[web.1]: npm ERR!此运行的完整日志可在以下位置找到:2019-11-20T07:55:39.747852+00:00 app[web.1]: npm ERR!
/app/.npm/_logs/2019-11-20T07_55_39_740Z-debug.log 2019-11-20T07:55:39.842413+00:00 heroku[web.1]:状态从开始变为崩溃 2019-11-20T07:55 :39.831194+00:00 heroku[web.1]: 进程以状态 1 退出 2019-11-20T08:47:20.684024+00:00 heroku[router]: at=error code=H10 desc="App crashed" method= GET path="/" host=mukupukuu.herokuapp.com request_id=9bf7f838-97ee-4776-9517-b9c0b530241d fwd="49.244.16.204" dyno= connect= service= status=503 bytes= protocol=https 2019-11-20T08 :47:32.344155+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=mukupukuu.herokuapp.com request_id=ace83680-39e1-489d -a50c-b1c6811f24ce fwd="49.244.16.204" 测功机=连接=服务=状态=503字节=协议=https
解决方案
确保在 package.json 中包含 GoogleApi npm 包,这有助于 Heroku 在部署应用程序的服务器上获取和安装所需的依赖项。
您可以手动将包和版本添加到package.json
或者
更好的选择是运行npm install --save googleapis
推荐阅读
- javascript - DOMParser parseFromString 仅在迭代生成的 body childNodes 时删除节点
- python - PySpark 如何迭代 Dataframe 列并更改数据类型?
- assembly - x86_32 虚拟 8086 和实模式是否支持扩展通用和专用寄存器?
- javascript - Google 表格脚本错误:TypeError:无法读取 null 的属性“getRange”(第 7 行,文件“Rando”)
- vue.js - Vuejs 复制动态组件方法
- r - 使用 Plotly 创建热图;改变颜色
- java - 仅在通过 JAX-RS 调用时出现休眠错误
- android - AdapterList 中的 IndexOutOfBoundsException
- ubuntu - xvda1 是否占用了我在 ec2 上的所有磁盘空间
- angular - 角 9 | 无法绑定到“加载”,因为它不是“img”的已知属性