2012-02-11 31 views
10

Tôi là nhà phát triển iOS với rất ít kinh nghiệm về Ruby, cố gắng theo dõi "Getting Started with iOS Mobile Development and a Sinatra API" về cách chạy API chạy trên Heroku.Tại sao tôi nhận được "bộ điều hợp không tìm thấy"?

Tôi đã chụp sample project trên Git, vì vậy tôi biết tôi có thiết lập giống với những gì tôi cho là có.

Tôi đã bó được cài đặt, và nghĩ rằng tất cả mọi thứ phải sẵn sàng để đi, nhưng bất cứ khi nào tôi làm một foreman start tôi có được điều này:

2:14:56 web.1  | started with pid 5140 
12:14:57 web.1  | No adapter found for {MY PROJECT'S FILEPATH} 
12:14:57 web.1  | process terminated 
12:14:57 system | sending SIGTERM to all processes 

Tôi đang làm gì sai, hoặc những gì tôi cần phải làm để có được điều này để chạy?

Cảm ơn!

Trả lời

17

Bạn đang thiếu một tệp config.ru cần thiết để biết cách khởi động ứng dụng.

Tạo một tập tin trong thư mục gốc của bạn được gọi config.ru và thêm dòng sau vào nó:

require './api' 
run Sinatra::Application 

Bạn có thể kiểm tra điều này là chính xác bằng cách chạy rackup trong thư mục gốc của dự án. Nếu tệp cấu hình đúng thì máy chủ của bạn sẽ bắt đầu.

Vui lòng đọc When to use config.ruhttp://devcenter.heroku.com/articles/rack để biết thêm thông tin.

+2

Tôi đã tận dụng ứng dụng A trong Sinatra :: nhưng sau đó nó đã hoạt động. Cảm ơn, và cảm ơn các liên kết! – Ethan

+0

@Ethan Cảm ơn bạn đã chỉ ra điều đó, tôi đã cập nhật câu trả lời của mình. – Gazler

+1

Đây là một câu trả lời hay, nhưng bài đăng gốc từ Heroku được liên kết đến (tôi cũng chỉ kiểm tra) đề xuất bỏ qua tệp config.ru: "bạn sẽ kiểm soát nhiều hơn cách ứng dụng của bạn được thực thi nếu bạn bỏ qua config.ru và thay vào đó khai báo loại quy trình web của riêng bạn trong một Procfile. " Tuy nhiên, theo hướng dẫn của họ gây ra vấn đề này, mà bạn có, may mắn thay, giải quyết cho chúng tôi. – adriandz

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