2011-07-26 41 views
7

Tôi đang làm việc trên một dự án với một nhà phát triển khác và tôi gặp lỗi khi cố gắng khởi động máy chủ cục bộ của mình. Thiếu database.yml. Tôi chỉ sử dụng sqlite và một nhà phát triển khác đang sử dụng mongrel vì vậy tôi không có một tệp database.yml. Tôi không sử dụng Mongrel bởi vì tôi đang dùng ruby ​​1.9.2 và anh ấy đang dùng ruby ​​1.8.7.Lỗi máy chủ cục bộ Rails: Không có tệp database.yml

Có cách nào để khắc phục lỗi này không?

LIONIDAS:project robertb$ rails s 
=> Booting WEBrick 
=> Rails 3.0.3 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/Users/robertb/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application/configuration.rb:88:in `read': No such file or directory - /Users/robertb/Sites/project/config/database.yml (Errno::ENOENT) 
+0

sqlite là cơ sở dữ liệu và mongrel là máy chủ web. Vì vậy, tại sao bạn sẽ không có tệp database.yml vì lý do đó ?? Và bạn không sử dụng mongrel bởi vì bạn đang sử dụng ruby ​​1.9.2? tại sao vậy ?? Bắt nhầm lẫn với câu hỏi. –

Trả lời

15

Vì vậy, vẫn cần thêm database.yml. Bạn cần một định nghĩa cơ sở dữ liệu SQLite của bạn. Giống như vậy:

development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 
+0

Cảm ơn bạn Matthew. –

+0

Nếu bạn không sử dụng SQLite3 và bạn chỉ cần sao chép tập tin này, bạn sẽ vượt qua lỗi này và sau đó vào sâu, tối khó khăn để gỡ lỗi những điều (đối với tôi vì sợ). Không chỉ sao chép + quá khứ này nếu bạn đang sử dụng một loại DB, như MySQL. [Thông tin hữu ích] (http://stackoverflow.com/questions/5872264/correct-mysql-configuration-for-ruby-on-rails-database-yml-file) – dfarrell07

0

Mongrel là máy chủ web không?

Bạn vẫn cần tệp database.yml.

+0

Vâng. http://en.wikipedia.org/wiki/Mongrel_%28web_server%29 –

5

Bạn có thể sử dụng cấu hình cơ sở dữ liệu khác với các nhà phát triển khác của dự án. Chỉ cần thêm cơ sở dữ liệu.yml vào tệp .gitignore. Điều này được thực hiện tự động khi tạo ra một ứng dụng đường ray và vì cơ sở dữ liệu.yml bị thiếu trên máy tính của bạn cũng đã là trường hợp cho dự án của bạn. Vì vậy, chỉ cần tạo tệp cơ sở dữ liệu cá nhân của bạn.yml trong thư mục cấu hình của ứng dụng cho môi trường phát triển của bạn.

Giống như cấu hình như tối thiểu này:

development: 
    adapter: sqlite3 
    database: db/development.sqlite3 

Nhưng mongrel không phải là một cơ sở dữ liệu nhưng một Web Server. Có lẽ các nhà phát triển khác là một sử dụng Mongo DB?

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