我正在尝试将我的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吗?
答案 0 :(得分:3)
你需要在Heroku上安装SASS - 默认情况下不存在。有两种选择:
运行以下命令:
$ 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
这将从您的构建中部署本地生成的工件,因此Heroku将无法运行sbt compile stage
。:
答案 1 :(得分:0)
我遇到了完全相同的问题,将一个游戏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
在此之后,您应该能够再次部署您的应用程序 - 并且构建应该是成功的。