将Sails.js项目部署到Google云:“致命错误:无法find本地咕噜声”。

我正在尝试将一个sails.js项目部署到Google云端。 运行gcloud preview app deploy app.yaml --set-default ,部署似乎成功,但当我浏览到我的项目,我看到的只是

错误:服务器错误

您请求的服务尚不可用。 请在30秒后重试。

来自console.developers.google.com的日志显示“ 致命错误:无法find本地咕噜声”。我应该在Google云上configuration一些可用的咕噜声吗? 或者我应该在我的项目中configuration什么来让云find咕噜声?

我已经能够从https://cloud.google.com/nodejs/成功部署演示项目,但不能使用Sails.js项目。


更新:解决

这个问题是通过在本地安装grunt和grunt-cli以及一堆其他依赖项来sorting的。 任何有同样问题的人都可以这样做:

确保package.json文件包含以下依赖项:

 "dependencies": { "express": "^4.12.0", "gcloud": "^0.15.0", "grunt": "^0.4.5", "grunt-cli": "^0.1.13", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-coffee": "^0.13.0", "grunt-contrib-concat": "^0.5.1", "grunt-contrib-copy": "^0.8.0", "grunt-contrib-cssmin": "^0.12.3", "grunt-contrib-jst": "^0.6.0", "grunt-contrib-less": "^1.0.1", "grunt-contrib-uglify": "^0.9.1", "grunt-contrib-watch": "^0.6.1", "grunt-gcloud": "^0.2.0", "grunt-sails-linker": "^0.10.1", "grunt-sync": "^0.2.3", "sails": "^0.11.0", "sails-disk": "^0.10.8" } 

然后在部署之前安装所有依赖关系:

  sudo npm install --save 

您的应用程序可能希望使用Grunt来启动Web服务器。 使用Grunt的node.jsnetworking应用程序的一个常见范例是运行一些类似grunt serve来启动web服务器(如app.js或bin / http://www.js)。 没有networking服务器在您的应用程序的容器上运行的事实是您看到您所做的消息的原因。 Grunt不可访问(因此serve命令无法运行),因为你的Dockerfile没有安装Grunt。

让你的Dockerfile安装Grunt 。 你会使用npm安装Grunt 。

一般来说,为避免陷入这样的陷阱,您应该了解运行您的Web应用程序的整个堆栈,即使只是大致的轮廓,以便识别这样的故障变得更容易。