更新我的hubot项目后,它不再在azure上运行。我可以在本地运行一个干净的拷贝,在OSX和windows上,但是在azure上我得到以下错误
错误无法加载适配器松弛-错误:找不到模块“hubot”
在本地,我安装了node 6.9.1和npm 3.10.9。azure分别使用6.9.0和3.10.8版本。
不幸的是,我还没有弄清楚如何收集更多的信息,因为node应用程序似乎没有产生任何更详细的输出。
这个项目和azure网站最初是去年创建的,在我更新了npm依赖项和node的版本后开始失败。但是,在恢复到node 4.x和npm 2.x或node 0.10.x或npm 1.x后,仍然会出现相同的错误。
这是我基本上未修改的hubot项目,它再现了错误。自述文件包含了我将其部署到azure所采取的步骤。
如有任何见解,我们将不胜感激
编辑1
包.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` ,所以我确定它是在依赖项中,而不是devdependency中。
#### 编辑2
gary liu-msft能够阐明原因并提供解决方案,但为什么不能呢 `hubot-slack: 4.+` 在azure上运行,而在其他地方运行?
2条答案
按热度按时间ojsjcaue1#
我成功的复制了你的问题,并且经过几次测试,似乎问题出现的时候会产生依赖性
hubot-slack
在一个高版本。请试试我的舞步。转到应用程序服务编辑器(预览):
转到门户,选择应用程序服务,单击应用程序服务编辑器(预览),然后单击go。
改变
"hubot-slack": "^4.2.1"
至"hubot-slack": "^3.4.2"
在package.json
.单击console,然后运行以下命令:
npm install –production
在npm安装之后,单击run,您就可以运行它了。
vcirk6k62#
不用降级hubot slack,您可以尝试将其设置为app setting以下,这样可以解决问题
键:节点路径
值:d:\home\site\wwwroot\node\u modules
出于某些原因,hubot slack需要全局安装hubot:(
https://github.com/slackapi/hubot-slack/issues/28