我正在研究Hartl's Rails 4.0 tutorial的第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
这是我使用的Gemfile:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '4.0.0.rc1'
group :development do
gem 'sqlite3', '1.3.7'
end
gem 'sass-rails', '4.0.0.rc1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'pg', '0.15.1'
end
更新:主要错误似乎是/usr/bin/env: ruby1.9.1: No such file or directory
Heroku机器或家用电脑上的文件夹是?
我尝试从我的ruby '1.9.3'
中删除该行.gitignore
,但它仍会返回此消息。
答案 0 :(得分:0)
首先,从ruby 1.9.3
删除Gemfile
。您不需要它,可能是您的问题的原因。 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
因为您在sqlite3
:development
和postgresql
中使用:production
答案 1 :(得分:0)
我有类似的问题。问题是Bundler正在生成存根。 Rails 4应用程序不会在应用程序的bin /目录中存储存根。要解决此问题,您需要使用以下命令:
$ bundle config --delete bin
然后,您需要更新bin目录以使用新的Rails 4可执行文件
$ rake rails:update:bin
然后使用以下命令将新bin /目录添加到版本控制中:
$ git add bin
提交更改并将代码推送到Heroku
答案 2 :(得分:0)
我有同样的问题,问题是我没有选择我想要使用的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 ]