有一个应用程序并且工作了一段时间,但现在我不能git push:
-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-1.9.3-p125
-----> Installing dependencies using
Fixing nokogiri install. Clearing bundler cache.
See https://github.com/sparklemotion/nokogiri/issues/923.
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
env: bundle: No such file or directory
Bundler Output: env: bundle: No such file or directory
!
! Failed to install gems via Bundler.
!
! Push rejected, failed to compile Ruby app
我检查了每个https://github.com/heroku/heroku-buildpack-ruby/commit/00ae3eb09522028b692bfda15d4089b5531f0b79和heroku配置报告的路径:
GEM_PATH: vendor/bundle/ruby/1.9.1
LANG: en_US.UTF-8
PATH: bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
所以看起来路径是正确的,虽然我不明白为什么当我使用1.9.3时它是ruby 1.9.1。
Gemfile包含:
source 'https://rubygems.org'
gem 'rails', '~>3.2'
FWIW我已经尝试了捆绑更新并将更改发送到gemfile.lock,但仍然无法推送它。
答案 0 :(得分:1)
Heroku push is being rejected建议将ruby版本添加到gemfile,而另一篇帖子则说要将其删除。出于绝望,我试了一下:
source 'https://rubygems.org'
ruby "1.9.3"
gem 'rails', '~>3.2'
然后我做了一个捆绑更新(可能没必要)并推送它:
-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.3.2
Ruby version change detected. Clearing bundler cache.
Old: ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
New: ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
Fixing nokogiri install. Clearing bundler cache.
See https://github.com/sparklemotion/nokogiri/issues/923.
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/..
Installing rake (10.1.0)
...
成功! ......直到我遇到下一个问题,但这与这篇文章无关。
答案 1 :(得分:0)
对我来说,这发生了,因为我有一个非常古老的环境变量引用了以前的Ruby版本:
PATH: bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
我刚删除它,一切都开始工作了:
heroku config:remove PATH