Heroku指南针buildpack指南针失败
我正在尝试将compass构建包推送到heroku服务器 它一直工作到最近,我不确定heroku方面发生了什么,它不再工作了,给了我这个错误:Heroku指南针buildpack指南针失败,heroku,gem,compass-sass,cedar,Heroku,Gem,Compass Sass,Cedar,我正在尝试将compass构建包推送到heroku服务器 它一直工作到最近,我不确定heroku方面发生了什么,它不再工作了,给了我这个错误: bash: /app/.gem/ruby/1.9.1/bin/compass: /app/vendor/ruby-1.9.2/bin/ruby: bad interpreter: No such file or directory 我不知道发生了什么事,他们改变了ruby版本还是什么 是否有人知道问题和解决方法 我使用Cedar stack,运行节点编
bash: /app/.gem/ruby/1.9.1/bin/compass: /app/vendor/ruby-1.9.2/bin/ruby: bad interpreter: No such file or directory
我不知道发生了什么事,他们改变了ruby版本还是什么
是否有人知道问题和解决方法
我使用Cedar stack,运行节点编辑
嗯,我错了。在我们的例子中,compass:dist
任务由于一些错误的SASS而失败。这最终消除了这个错误。在我的霰弹枪修复方法中,我将Gruntile heroku任务编辑为:
grunt.registerTask('heroku', function () {
grunt.log.warn('The `heroku` task has been deprecated. Use `grunt build` to build for deployment.');
grunt.task.run(['compass:dist']);
});
在部署到heroku时,我注意到了错误
我还交换了构建包。我现在用的似乎还可以。抱歉,有点困惑,但希望能有所帮助
下面是原始答案。
不是一个真实的答案,但因为我还不能评论
也看到了这个错误。我认为这与我们正在使用的heroku节点指南针构建包有关
我尝试将ruby:2.0.0
添加到我的Gemfile
中,但没有任何区别。我最终使用了“buildpack multi”
在小细节方面:
我想在接受的答案的基础上再加一点解释,因为我遇到了完全相同的问题,我相信大多数人都需要按如下方式取消旧的构建包: 首先取消设置旧的buildpack并指向buildpack multi:
heroku config:unset BUILDPACK_URL
heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
Buildpack multi要求您添加自己的.buildpacks文件。这个配置就是我最后成功使用的:
cat .buildpacks
https://github.com/heroku/heroku-buildpack-nodejs.git
https://github.com/heroku/heroku-buildpack-ruby.git
这是我的GEM文件,仅用于拾取指南针:
cat Gemfile
source 'https://rubygems.org'
gem 'compass'
现在,您需要执行以下操作:
bundle install
这将添加一个Gemfile.lock
将所有内容提交给git,并推回到heroku。这将启动新的多构建包配置,并有望让您恢复运行。您应该看到nodejs和ruby buildpacks都是按照上述配置连续下载的
免责声明:这可能是时间敏感的材料,因为heroku在未来几个月可能会发生一些变化。我无法让多个构建包与我的应用程序配合使用,但我能够让位于的构建包再次与heroku配合使用: 在bin/compile中,我添加了
cp -r /app/vendor/ruby-1.9.2 $build_dir/vendor
在脚本检查缓存并更新或安装compass之后,在它缓存ruby gems之前。这里的答案似乎过时了 根据最新文档,您可以从命令行为应用程序指定多个构建包:
heroku buildpacks:set heroku/ruby
heroku buildpacks:add heroku/nodejs
这将确保我们首先运行ruby。然后,我们运行并启动节点应用程序。指南针随后可用
只需添加一个包含以下内容的文件:
source 'https://rubygems.org'
gem 'compass'
所以我尝试了heroku buildpack nodejs grunt,但是grunt现在抱怨Compass没有安装,即使heroku运行“Compass-v”会显示它安装了。您是否手动安装并运行grunt?