2013-04-27 18 views
5

Jestem nowy w Ruby on Rails, aplikacja jest uruchomiona na komputerze lokalnymHeroku Bundle Error (Rails App)

lokalny wiązka działa

jednak gdy próbuję git Push Heroku mistrza, jest to błąd pojawia się:

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: 

mój 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 

czego mi brakuje? z góry dzięki!

Odpowiedz

9

Miałem podobny problem. Problem polega na tym, że Bundler generuje kody pośredniczące. Railsy 4 aplikacje nie przechowują kodów pośrednich w katalogu bin/aplikacji. Aby rozwiązać ten problem, musisz użyć następujących poleceń:

$ bundle config --delete bin 

Następnie trzeba zaktualizować katalogu bin do korzystania z nowego Rails 4 wykonywalne

$ rake rails:update:bin 

Następnie dodać nowy bin/do kontroli wersji, używając:

$ git add bin 

zatwierdzić zmiany i wcisnąć swój kod do Heroku

1

Problem dotyczy Twojego rubinu PATH. więc najpierw zobacz, co się stanie, gdy uruchomisz

$ 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] 
Czy otrzymasz podobne wyniki? Jeśli nie, sprawdź swoją ścieżkę.

$ 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 

zawiadomienie, w jaki sposób bin znajduje się na ścieżce. w przypadku jej braku w twoim, możesz ręcznie ustawić PATH i dodać bin, wykonując następujące polecenie.

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

podziękowaniem s Gaurish dla szybkiej odpowiedzi, mam podobne wyjście: Uruchamianie 'ruby -v' dołączonego do terminala ... up, run.2357 ruby ​​1.9.2p290 (2011-07-09 rewizja 32553) [x86_64-linux] – monk3ybidzness

Powiązane problemy