After updating my hubot project it no longer runs on Azure. I am able to run a clean copy locally, on both OS X and Windows, but on Azure I get the following error
ERROR Cannot load adapter slack - Error: Cannot find module 'hubot'
Locally, I have node 6.9.1 and npm 3.10.9 installed. Azure is using versions 6.9.0 and 3.10.8, respectively.
Unfortunately, I haven't figured out how to collect any more information, because the node app doesn't seem to get to the point where it is producing any more detailed output.
The project and Azure website were originally created last year and started failing after I updated the npm dependencies and version of node. However, I still get the same error after reverting to node 4.x and npm 2.x or node 0.10.x or npm 1.x doesn't fix the problem.
Here is my largely unmodified hubot project that reproduces the error. The README contains the steps I took to deploy it to Azure.
Any insight would be greatly appreciated
EDIT 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
is listed in my dependencies in package.json - if it weren't it wouldn't run locally. I'm aware that kudu runs npm install --production
, so I made sure it was in dependencies and not devDependencies.
EDIT 2
Gary Liu - MSFT was able to shed some light on the cause and provided a workaround, but why doesn't hubot-slack: 4.+
run on Azure when it runs everywhere else?