Heroku - Express App - Error: spawn compass ENOENT

Heroku - Express App - Error: spawn compass ENOENT

我正在使用官方 express 生成器生成的应用程序,CEDAR 堆栈在 heroku.

当我尝试访问样式表时出现以下错误 (/stylesheets/style.css) 所有其他静态资产都可以正常加载,sass 版本的样式表 (/stylesheets/style.scss) 也可以。

可能是什么问题?

2015-03-09T22:27:54.648677+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/stylesheets/style.css" host=**.herokuapp.com request_id=c29b6d81-3dae-4e3f-a35a-53f3dea3fb48 fwd="80.244.17.16" dyno=web.1 connect=0ms service=167ms status=503 bytes=0
2015-03-09T22:27:54.589437+00:00 app[web.1]: events.js:85
2015-03-09T22:27:54.589449+00:00 app[web.1]:     at Process.ChildProcess._handle.onexit (child_process.js:1046:32)
2015-03-09T22:27:54.589447+00:00 app[web.1]:     at exports._errnoException (util.js:746:11)
2015-03-09T22:27:54.589444+00:00 app[web.1]:             ^
2015-03-09T22:27:54.589442+00:00 app[web.1]:       throw er; // Unhandled 'error' event
2015-03-09T22:27:54.589446+00:00 app[web.1]: Error: spawn compass ENOENT
2015-03-09T22:27:54.589452+00:00 app[web.1]:     at process._tickCallback (node.js:355:11)
2015-03-09T22:27:54.671202+00:00 app[web.1]: 
2015-03-09T22:27:54.589451+00:00 app[web.1]:     at child_process.js:1137:20

经过大量的故障排除,我终于弄清楚了。

  • heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
  • 在根目录下创建一个名为.buildpacks的文件,并添加以下内容https://github.com/heroku/heroku-buildpack-nodejs.git https://github.com/heroku/heroku-buildpack-ruby.git
  • 在根目录下创建一个名为Gemfile的文件并添加 source "https://rubygems.org" gem "compass"
  • 由于 heroku 无法正确填充 Gemfile.lock 您还必须创建一个名为 Gemfile.lock 和 运行 bundle install
  • 的文件
  • 推送到 heroku 和 node-compass 工作:)