2012-02-16 31 views
24

Rails newbie here. Tôi đang cố gắng triển khai ứng dụng Rails 3.1/Ruby 1.9.3-p0 của mình lên Heroku và đã làm theo tất cả các bước theo Heroku. Nhưng tôi tiếp tục chạy vào:Rails 3.2: Heroku đẩy bị từ chối, không có ứng dụng hỗ trợ Cedar phát hiện

Heroku đẩy từ chối, không có ứng dụng Cedar hỗ trợ phát hiện

Tôi đã thử tất cả những gợi ý trong this question nhưng cho đến nay không thành công.

+0

Tôi nhận ra tôi đang chạy ruby ​​1.9.3-p0 và làm theo các bước trong http://railsapps.github.com/rails -heroku-tutorial.html nhưng đã không trợ giúp cho đến nay. Nó có thể là Heroku và hỗ trợ thử nghiệm của họ cho 1.9.3? – ralphos

+0

Không, tôi chạy ứng dụng 1.9.3 trên heroku tốt. Bạn đã tạo ứng dụng của mình trên heroku như thế nào? Bạn đã làm: 'heroku apps: tạo myapp --stack cedar'? –

+0

Có, tôi đã chạy 'heroku tạo myapp --stack cedar' – ralphos

Trả lời

5

Hãy thử

$ git init 
$ git add . 
$ git commit -m "Change to something" 

Sau đó chạy

git push heroku master 
+1

Đã cố gắng và cũng đã làm điều đó một lần nữa bằng cách nhân bản repo vào một thư mục mới nhưng vẫn không hoạt động. – ralphos

+0

khi bạn khởi tạo lại các tệp của mình cho github. Các tệp của bạn đã được thêm vào github và sẵn sàng để được đẩy chưa? – coletrain

74

tôi đã gặp phải một sự từ chối tương tự. Những gì làm việc cho tôi đã được reinitializing các tập tin .git.

Cố gắng trong dòng lệnh:

rm -rf .git 
git init 
git add . 
git commit -am "Reinitialize" 
heroku create --stack cedar 
git push heroku master 
+1

Điều đó phù hợp với tôi, cảm ơn! – tobe

+2

một từ: MAGIC !!! –

+0

Người đàn ông tuyệt vời! Bạn đã cứu ngày của tôi –

8

Tôi đã chỉ giải quyết vấn đề này với một trong những ứng dụng của tôi. Nếu bạn kiểm tra documentation, Ngăn xếp Cedar tìm kiếm Gemfile trong thư mục gốc gốc. Trong trường hợp của tôi, thư mục gốc chỉ có thư mục chứa ứng dụng của tôi với Gemfile bên trong nó.

Vì vậy, những gì bạn cần làm là để khởi tạo một repo git mới bên trong thư mục này và thêm điều khiển từ xa:

$ cd my_app_folder 
$ git init 
$ git add . 
$ git commit -m "Heroku commit" 
$ git remote add heroku [email protected]:my-app-in-heroku.git 
$ git push heroku master 

Và bạn đã hoàn tất!

+0

Điều này làm việc hoàn hảo. Cảm ơn! – Newb

7

Bất cứ khi nào tôi gặp phải lỗi này, tôi kiểm tra hai điều sau đây:

  • Hãy chắc chắn rằng Gemfile tồn tại trong thư mục gốc của ứng dụng Rails. Heroku sử dụng nó để xác định loại ứng dụng nào cần triển khai.
  • Đảm bảo rằng ứng dụng Rails thư mục gốc chính nó được đặt dưới sự kiểm soát phiên bản (ví dụ: Git) thay vì thư mục mẹ của nó.

Nếu bạn vô tình đặt thư mục mẹ của ứng dụng đường ray của bạn vào kiểm soát phiên bản. Xóa thư mục .git bên trong thư mục mẹ này và khởi tạo một kho lưu trữ mới nhưng lần này dưới thư mục ứng dụng Rails.

3

Tôi đã gặp sự cố này một vài lần trước đó và đó là vì tôi đang cố gắng đẩy chi nhánh từ xa đến heroku.

Để giải quyết vấn đề, thay vì sử dụng:

git push heroku master 

tôi đã sử dụng:

git push heroku my-branch:master 

này đẩy chi nhánh từ xa my-branch trong kho git đến master chi nhánh của Heroku.

+0

hoạt động hoàn hảo !! – Nicholas

0

Tôi có cùng một vấn đề. Cấu trúc tệp của tôi không phải là những gì mà Heroku mong đợi (.git phải ở cùng cấp với Gemfile). Tôi đã xóa thư mục Rails_Code và nó đã hoạt động.

Project\ 
     .git 
     Rails_Code\ 
        Gemfile 
        etc... 
0

Cùng Tình hình, như đã nói ở trên @petwho

"Hãy chắc chắn rằng Gemfile tồn tại trong thư mục gốc của ứng dụng Rails. Heroku sử dụng nó để xác định loại ứng dụng để triển khai."

Trong trường hợp của tôi, bằng cách nào đó, số GemfilesGemfile.lock của chúng tôi đã bị bỏ qua. Khi tôi kiểm tra trên github không có Gemfile được đẩy lên với ứng dụng của tôi do vì .gitignore đã bỏ qua gemfiles của tôi.

Sau khi loại bỏ gemfiles tôi từ gitignore, tôi đẩy lên Heroku và tất cả mọi thứ đã làm việc trơn tru

Các vấn đề liên quan