Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么我的Heroku推送被拒绝?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 为什么我的Heroku推送被拒绝?

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

我正在阅读的第1章,我被困在第1.4.2节中,那就是将一个黑色应用程序推送到GitHub和Heroku

我尝试键入git push heroku master,但收到一条错误消息,类似于前面关于StackOverFlow的问题:

可能是一样的,但我都没意识到:

-----> 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,使用了相同的技术。