Cedar-14软件包失败:无法加载OpenSSL

时间:2015-08-06 17:10:35

标签: ruby heroku openssl bundler

我正在将Heroku上的制作应用升级到Cedar-14。我分叉了我的临时应用程序heroku fork -a v-upgrade v-upgrade2,验证了分叉版本在Cedar-10上启动并运行,将堆栈设置为Cedar-14,创建了一个虚拟提交,并在推送时收到以下内容:

~/documents/coding/cycling/velopro$ git push upgrade2 currentdev:master
Counting objects: 11833, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7014/7014), done.
Writing objects: 100% (11833/11833), 91.20 MiB | 1.05 MiB/s, done.
Total 11833 (delta 8521), reused 6407 (delta 4535)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Fetching custom git buildpack... done
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.2.0
remote: -----> Installing gsl
remote: -----> Installing dependencies using 1.9.7
remote:        Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote:        Could not load OpenSSL.
remote:        You must recompile Ruby with OpenSSL support or change the sources in your
remote:        Gemfile from 'https' to 'http'. Instructions for compiling with OpenSSL using
remote:        RVM are available at rvm.io/packages/openssl.
remote:        Bundler Output:
remote:        Could not load OpenSSL.
remote:        You must recompile Ruby with OpenSSL support or change the sources in your
remote:        Gemfile from 'https' to 'http'. Instructions for compiling with OpenSSL using
remote:        RVM are available at rvm.io/packages/openssl.
remote:  !
remote:  !     Failed to install gems via Bundler.
remote:  !
remote: 
remote:  !     Push rejected, failed to compile Ruby app
remote: 
remote: Verifying deploy....
remote: 
remote: !   Push rejected to v-upgrade2.
remote: 
To git@heroku.com:v-upgrade2.git
 ! [remote rejected] currentdev -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:v-upgrade2.git'

我再次确认我仍然可以毫无问题地推送到Heroku上的原始登台应用程序(v-upgrade),因此它们之间的唯一区别似乎是Cedar堆栈。

是否有其他人遇到过在Cedar-14上加载OpenSSL的捆绑问题?有没有办法在Heroku上“重新编译支持OpenSSL的Ruby”?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

最后,我受到了抨击。我使用的buildpack暂时没有更新,所以不是试图修复它,而是简单地分叉fourpoints = Marshal.load(Marshal.dump(rec1)) + Marshal.load(Marshal.dump(rec2)) 并添加几行代码以包含我需要的GSL库,如下所示:

<强> / Rake文件

heroku-buildpack-ruby

<强> /lib/language_pack/ruby.rb

+  GSL_VENDOR_URL   = "https://s3.amazonaws.com/gsl_bin/gsl-1.15.tgz"

最后,虽然在确定加载OpenSSL时出了什么问题可能并不令人满意,但这可能是更好的路径。