由于 SASS,在 Heroku 上部署应用程序失败

Play App Deployment on Heroku Failing Due to SASS

我正在尝试将我的 Play Framework 应用程序部署到 Heroku。

这里是错误:

remote:        [error] (web-assets:sass) java.lang.Exception: 'sass' command 
not found. Try to add path to 'sass' to your $PATH system variable

做一些研究,我发现几年前用 Ruby 做这个有一个问题 - 这个解决方案似乎不适合这里。

我需要在 Heroku 上安装 SASS 吗?

我 运行 遇到了完全相同的问题,将 play 2.3.x 应用程序部署到 heroku。

我找到了这个帖子https://groups.google.com/forum/#!topic/play-framework/fzGj5RqW-l8

如线程中所述,我的解决方案是分叉 heroku scala 构建包。

然后编辑bin/compile文件,在第40行附近添加如下内容:

mkdir -p $CACHE_DIR/.gems gem install -i $CACHE_DIR/.gems --no-rdoc compass export PATH=$PATH:$CACHE_DIR/.gems/bin export GEM_PATH=$GEM_PATH:$CACHE_DIR/.gems

应在行后添加:mkdir -p $CACHE_DIR

然后使用自定义构建包: heroku config:set BUILDPACK_URL=url/to/your/custom/build-pack-scala-fork

在此之后,您应该能够再次部署您的应用程序 - 构建应该会成功。

您需要在 Heroku 上安装 SASS——默认情况下不存在。有两个选项:

1。使用 Ruby buildpack

运行 这些命令:

$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-ruby
$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-scala

然后确保您的项目有一个包含以下内容的 Gemfile:

source 'https://rubygems.org'
ruby '2.2.0'
gem 'sass', '3.4.9'

这是执行此操作的应用程序的一个很好的示例: https://github.com/mohiva/play-silhouette-angular-seed

2。使用 sbt-heroku

这将从您的构建部署本地生成的工件,因此 Heroku 不会 运行 sbt compile stage.: