13

我已经使用grunt buildpack成功设置了我的 heroku 应用程序。当我将我的 Node.js 应用程序推送到 heroku 时,它将运行适当的 grunt 任务。

我想要的是使用“grunt-contrib-compass”包来编译我的 .scss 文件。但这需要指南针可执行文件,我不知道如何获得它。

我已经检查了 heroku 文档,并看到了一个过时的文档,描述了使用 ruby​​ 设置指南针......但我还没有看到任何最近使用 Node.js 设置它的文档。

有任何想法吗?

4

3 回答 3

19

这花了很多时间弄清楚,但我终于设法让它工作了。需要的是让 Ruby 与您的 Node.js 应用程序一起安装,这样您就可以安装适当的 gem。这个要点很有帮助,或多或少地描述了我需要做的事情。

总而言之,这个过程是:

  • 在项目目录中创建文件.buildpacksGemfile和,其内容如下:Gemfile.lock

.buildpacks

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

宝石文件

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

Gemfile.lock

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

PLATFORMS
  ruby

DEPENDENCIES
  sass

注意。我只使用 Sass,而不是 Compass,但我猜你需要做的就是添加gem "compass"到 Gemfile,例如。compass (1.0.3)下面是 Gemfile.lock 中的 sass。

  • 向您的应用添加多构建包:

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

  • 最后,将这些推送到 Heroku,Ruby 和 Sass 应该与您的 Node.js 应用程序一起安装,允许您使用与 sass 相关的 grunt 任务。

于 2015-05-06T10:15:42.987 回答
1

有一个分叉,包括指南针安装。这可能会有所帮助:

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

于 2013-05-09T11:23:24.277 回答
0

我让我的应用程序在 heroku 上运行,grunt-sass 而不是grunt-contrib-sass. 要将它们换掉,只需执行npm install --save grunt-sass然后换掉 grunt-task 使用的任何地方(例如 grunt.loadNpmTasks('grunt-sass'),而不是grunt.loadNpmTasks('grunt-contrib-sass')

于 2017-06-28T14:16:07.920 回答