Comment configurer Gruntfile pour utiliser compass / sass sur heroku?

J’ai réussi à configurer mon application heroku avec le buildpack Grunt . Lorsque j’applique mon application Node.js à heroku, la tâche de grognement correspondante est exécutée.

Ce que j’aimerais, c’est utiliser le paquetage «grunt-consortingb-compass» pour comstackr mes fichiers .scss. Mais cela nécessite la boussole exécutable et je ne sais pas comment l’obtenir.

J’ai consulté la documentation de heroku et j’ai vu un document obsolète décrivant la configuration de Compass avec Ruby …

Des idées?

Cela a pris beaucoup de temps, mais j’ai finalement réussi à le faire fonctionner. Ce qu’il faut, c’est que Ruby soit installé en même temps que votre application Node.js afin que vous puissiez installer les gems appropriés. Cette idée était très utile et décrit plus ou moins ce que je devais faire.

En résumé, le processus était le suivant:

  • Créez les fichiers .buildpacks , Gemfile et Gemfile.lock dans le répertoire du projet, avec le contenu suivant:

.buildpacks

 https://github.com/heroku/heroku-buildpack-ruby.git https://github.com/heroku/heroku-buildpack-nodejs.git 

Gemfile

 source "http://rubygems.org" gem "sass" 

Gemfile.lock

 GEM remote: http://rubygems.org/ specs: sass (3.4.5) PLATFORMS ruby DEPENDENCIES sass 

nb. J’utilise seulement Sass, pas Compass, mais je suppose que tout ce que vous aurez à faire pour obtenir une boussole consiste simplement à append une gem "compass" au Gemfile et, par exemple. compass (1.0.3) ci-dessous sass dans le fichier Gemfile.lock.

  • Ajoutez un buildpack multiple à votre application:

    heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git

  • Enfin, transmettez-les à Heroku. Ruby et Sass doivent également s’installer parallèlement à votre application Node.js, ce qui vous permet d’utiliser des tâches de grognement liées à sass.

Il y a une fourche-fourche qui comprend l’installation de la boussole. Cela pourrait aider:

https://github.com/stephanmelzer/heroku-buildpack-nodejs-grunt-compass

Mon application fonctionne sur heroku en utilisant grunt-sass au lieu de grunt-consortingb-sass . Pour les échanger, il suffit d’ npm install --save grunt-sass , puis d’échanger la tâche grunt où qu’elle soit utilisée (par exemple, grunt.loadNpmTasks('grunt-sass') au lieu de grunt.loadNpmTasks('grunt-consortingb-sass')