【发布时间】:2017-01-18 07:32:46
【问题描述】:
更新我的 hubot 项目后,它不再在 Azure 上运行。我可以在 OS X 和 Windows 上本地运行干净的副本,但在 Azure 上出现以下错误
错误无法加载适配器松弛 - 错误:找不到模块“hubot”
在本地,我安装了 node 6.9.1 和 npm 3.10.9。 Azure 分别使用 6.9.0 和 3.10.8 版本。
不幸的是,我还没有弄清楚如何收集更多信息,因为节点应用程序似乎没有达到它产生任何更详细输出的地步。
该项目和 Azure 网站最初是去年创建的,在我更新了 npm 依赖项和 node 版本后开始失败。但是,在恢复到节点 4.x 和 npm 2.x 或节点 0.10.x 或 npm 1.x 后,我仍然遇到相同的错误。
这是我的大部分未修改的hubot project that reproduces the error。自述文件包含我将其部署到 Azure 所采取的步骤。
任何见解将不胜感激
编辑 1
package.json
...
"dependencies": {
"coffee-script": "^1.11.1",
"hubot": "^2.19.0",
"hubot-diagnostics": "0.0.1",
"hubot-google-images": "^0.2.6",
"hubot-google-translate": "^0.2.0",
"hubot-help": "^0.2.0",
"hubot-maps": "0.0.2",
"hubot-pugme": "^0.1.0",
"hubot-rules": "^0.1.1",
"hubot-scripts": "^2.17.2",
"hubot-shipit": "^0.2.0",
"hubot-slack": "^4.2.1"
},
...
hubot 在我的 package.json 依赖项中列出 - 如果不是,它将不会在本地运行。我知道 kudu 运行 npm install --production,所以我确保它在依赖项而不是 devDependencies 中。
编辑 2
Gary Liu - MSFT 能够阐明原因并提供了一种解决方法,但是为什么hubot-slack: 4.+ 在 Azure 上运行而不在其他任何地方运行?
【问题讨论】:
-
您必须确保您的 packages.json 文件已更新,并且满足您的应用程序运行的所有要求。您也可以尝试使用应用服务控制台手动安装所有依赖项。
-
@BrunoFaria 如果您的意思是导航到 wwwroot 并从 kudu 控制台或 azure 门户控制台运行
npm install --production,那么是的,我已经做到了。 -
您是否尝试在您的 packages.json 中指定节点版本,而不是通过控制台更新? “引擎”:{“节点”:版本}
-
@BrunoFaria 是的,当我尝试恢复到旧版本时,这就是我更改 node 和 npm 版本的方式:-(
-
@Enrico 它在我的网站上运行良好,我无法按照您的步骤重现错误消息。请告诉我您在哪一步收到错误消息?
标签: node.js azure azure-web-app-service iisnode kudu