Ruby on rails 为什么我的Heroku推送被拒绝?
我正在阅读的第1章,我被困在第1.4.2节中,那就是将一个黑色应用程序推送到GitHub和Heroku 我尝试键入git push heroku master,但收到一条错误消息,类似于前面关于StackOverFlow的问题:Ruby on rails 为什么我的Heroku推送被拒绝?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在阅读的第1章,我被困在第1.4.2节中,那就是将一个黑色应用程序推送到GitHub和Heroku 我尝试键入git push heroku master,但收到一条错误消息,类似于前面关于StackOverFlow的问题: 可能是一样的,但我都没意识到: -----> Ruby/Rails app detected -----> Installing dependencies using Running: bundle install --without
-----> Ruby/Rails app detected
-----> Installing dependencies using
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
/usr/bin/env: ruby1.9.1: No such file or directory
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/Rails app
以下是我使用的GEM文件:
源代码'https://rubygems.org'
ruby“1.9.3”
gem'rails','4.0.0.rc1'
小组:发展怎么办
gem'sqlite3','1.3.7'
结束
gem'sass-rails','4.0.0.rc1'
宝石“丑八怪”,“2.1.1”
gem“咖啡轨”,“4.0.0”
gem'jqueryrails','2.2.1'
gem“涡轮链接”,“1.1.1”
gem'jbuilder','1.0.2'
小组:doc do
gem“sdoc”,“0.3.20”,要求:false
结束
小组:生产部
gem‘pg’、‘0.15.1’
结束
更新:主要错误似乎是
/usr/bin/env:ruby1.9.1:没有这样的文件或目录
该文件夹在Heroku计算机或我的家用计算机上吗
我试图从我的
.gitignore
中删除行ruby'1.9.3'
,但它仍然返回此消息。首先,从GEM文件中删除ruby 1.9.3
。你不需要它,可能是你的问题的原因。您的Gemfile
的开头应该如下所示:
source 'https://rubygems.org'
gem 'rails', '4.0.0.rc1'
group :development do
gem 'sqlite3', '1.3.7'
end
etc........
另外,一定要跑步
bundle install --without production
由于您在:development
中使用sqlite3
,在:production
中使用postgresql
,因此我遇到了类似的问题。问题是Bundler正在生成存根。Rails 4应用程序不在应用程序的bin/目录中存储存根。要解决此问题,您需要使用以下命令:
$ bundle config --delete bin
然后需要更新bin目录以使用新的rails4可执行文件
$ rake rails:update:bin
然后使用以下命令将新的bin/目录添加到版本控制中:
$ git add bin
提交更改并将代码推送到Heroku,我也遇到了同样的问题,问题是我没有选择要使用的ruby版本,所以我做了以下操作:
$rvm list
ruby-1.9.3-p392 [ i686 ]
ruby-2.0.0-p247 [ i686 ]
$rvm use ruby-1.9.3-p392
$rvm list
=> ruby-1.9.3-p392 [ i686 ]
ruby-2.0.0-p247 [ i686 ]
您的Gemfile指定Ruby 1.9.3,但从Heroku返回的消息来看,它似乎使用Ruby 1.9.1。不确定这是否与不应该成为问题的问题有关,我使用了ruby 1.9.3和2.0.0,使用了相同的技术。