更新我的hubot项目后,它不再在Azure上运行。我能够在OS X和Windows上本地运行干净的副本,但在Azure上我得到以下错误
错误无法加载适配器松弛 - 错误:无法找到模块'hubot'
在本地,我安装了节点6.9.1和npm 3.10.9。 Azure分别使用版本6.9.0和3.10.8。
不幸的是,我还没弄清楚如何收集更多信息,因为节点应用似乎没有达到产生更详细输出的程度。
项目和Azure网站最初是在去年创建的,在我更新了npm依赖项和节点版本后开始失败。但是,在恢复到节点4.x和npm 2.x或节点0.10.x或npm 1.x后,我仍然得到相同的错误。
这是我未经修改的hubot project that reproduces the error。自述文件包含我将其部署到Azure的步骤。
非常感谢任何见解
的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。
Gary Liu - MSFT能够对原因有所了解并提供了一种解决方法,但为什么在其他地方运行的时候没有hubot-slack: 4.+
在Azure上运行?
答案 0 :(得分:8)
您可以尝试设置以下应用设置,而不是降低hubot-slack,这应该可以解决问题
键:NODE_PATH
值:D:\ home \ site \ wwwroot \ node_modules
出于某种原因,hubot-slack需要全局安装hubot :(
答案 1 :(得分:3)