Lev*_*Lev 9 ruby ruby-on-rails heroku ruby-on-rails-3.2 ruby-2.0
我刚刚将我的Rails 3.2.16应用程序的ruby版本从1.9.2升级到2.0.0,一切都在本地工作正常.但是,当试图推送到Heroku时,它无法编译.
它检测ruby版本,开始安装依赖项,然后崩溃:
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using 1.5.2
Ruby version change detected. Clearing bundler cache.
Old: ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
New: ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]
sh: Syntax error: EOF in backquote substitution
sh: Syntax error: EOF in backquote substitution
/app/tmp/buildpacks/ruby/lib/language_pack/ruby.rb:760:in `block in purge_bundler_cache': undefined local variable or method `install_language_pack_gems' for #<LanguagePack::Rails3:0x00000000c1d090> (NameError)
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但我并不特别想搞乱buildpack.
对于在Ruby 2.0上运行的应用程序也会发生这种情况
-----> Installing dependencies using 1.5.2
Ruby version change detected. Clearing bundler cache.
Old: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
New: ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]
sh: Syntax error: EOF in backquote substitution
sh: Syntax error: EOF in backquote substitution
/app/tmp/buildpacks/ruby/lib/language_pack/ruby.rb:760:in `block in purge_bundler_cache': undefined local variable or method `install_language_pack_gems' for #<LanguagePack::Rails4:0x00000002084a60> (NameError)
Run Code Online (Sandbox Code Playgroud)
meh*_*kar 10
好像它没有使用最新的ruby buildpack.我能够通过设置来解决这个问题BUILDPACK_URL
$ heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-ruby
Run Code Online (Sandbox Code Playgroud)