2013-04-27 49 views
5

我是新來的Ruby on Rails的,應用程序是在本地機器上運行Heroku的捆綁錯誤(Rails應用程序)

當地束然而,當我嘗試混帳推Heroku的主工作

,這是錯誤我得到:

remote: 
remote: -----> Ruby/Rails app detected 
remote: -----> Using Ruby version: ruby-1.9.3 
remote: -----> Installing dependencies using 
remote:  Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment 
remote:  /usr/bin/env: ruby1.9.1: No such file or directory 
remote: ! 
remote: !  Failed to install gems via Bundler. 
remote: ! 
remote: !  Heroku push rejected, failed to compile Ruby/rails app 
remote: 

的Gemfile

source 'http://rubygems.org' 
ruby '1.9.3' 
gem 'rails', '4.0.0.beta1' 

group :development, :test do 
    gem 'sqlite3' 
    gem 'rspec-rails' 
end 

group :assets do 
    gem 'sass-rails', '~> 4.0.0.beta1' 
    gem 'coffee-rails', '~> 4.0.0.beta1' 

    gem 'therubyracer', platforms: :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

gem 'turbolinks' 
gem 'jbuilder', '~> 1.0.1' 
group :test do 
    gem 'capybara' 
end 

group :production do 
    gem 'pg' 
end 

我在想什麼? 在此先感謝!

回答

9

我有類似的問題。問題在於Bundler正在生成存根。 Rails 4應用程序不會將存根存儲在應用程序的bin /目錄中。爲了解決這個問題,你需要使用下面的命令:

$ bundle config --delete bin 

然後,你需要更新使用新的Rails 4個可執行

$ rake rails:update:bin 

bin目錄然後添加新的bin /目錄使用版本控制:

$ git add bin 

提交更改和你的代碼推到Heroku的

1

問題在於你的紅寶石PATH。所以首先看看你運行時會發生什麼

$ heroku run "ruby -v" 
Running `ruby -v` attached to terminal... up, run.8734 
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] 

你是否得到類似的輸出?如果沒有,然後檢查你的路徑。

$ heroku config -s | grep PATH 
GEM_PATH=vendor/bundle/ruby/1.9.1 
PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 

通知,如何bin是在路徑中。如果您的手機丟失了,您可以手動設置PATH並通過以下命令添加bin

$ heroku config:set PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 
+0

謝謝s的Gaurish的快速響應,我得到了類似的輸出: 運行'ruby -v'連接到終端... up,run.2357 ruby​​ 1.9.2p290(2011-07-09 revision 32553)[x86_64-linux] – monk3ybidzness 2013-04-30 19:22:33